2011-02-04 2 views
1

Я пытаюсь закодировать программу, которая решает системы уравнений в MATLAB. Мне было интересно, есть ли способ заставить MATLAB группировать подобные термины и поместить их коэффициенты в матрицу? Я понимаю, что могу просто ввести коэффициенты вручную, но я хочу надеяться перепрофилировать эту небольшую программу для выполнения узлового анализа.Группировка как условия в MATLAB

+0

Вы пытались посмотреть Symbolic Matlab Toolbox? http://www.mathworks.com/help/toolbox/symbolic/f1-82523.html#f1-56798 – Lordalcol

+0

Вы имеете дело с [символическими уравнениями] (http://www.mathworks.com/products/symbolic/) ? – gnovice

ответ

1

Вы всегда можете использовать мои инструменты sympoly, чтобы выполнить большую часть работы за вас. Поскольку этот набор инструментов даст вам прямой доступ к анализируемому результату, это упростит вашу жизнь, а также сделает много символических манипуляций с выражением. Например, ...

>>sympoly x y z 
>> P = 3*x + 2*x*y - 2.75*z^2 
P = 
    -2.75*z^2 + 3*x + 2*x*y 

>> struct(P) 
ans = 
      Var: {'x' 'y' 'z'} 
     Exponent: [3x3 double] 
    Coefficient: [3x1 double] 

>> P.Exponent 
ans = 
    0  0  2 
    1  0  0 
    1  1  0 
>> P.Coefficient 
ans = 
        -2.75 
         3 
         2 

Найти sympoly по обмену файлами.

0

Было бы достаточно просто написать синтаксический анализатор, чтобы выполнить эту функцию самостоятельно. Выделите число, а затем переменную с ее мощностью. Удачи.