Группировка подобных терминов в MATLAB

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


person cskwrd    schedule 04.02.2011    source источник
comment
Вы пытались взглянуть на Symbolic Matlab Toolbox? mathworks.com/help/toolbox/symbolic/f1- 82523.html#f1-56798   -  person Lordalcol    schedule 04.02.2011
comment
Вы имеете дело с символическими уравнениями?   -  person gnovice    schedule 04.02.2011


Ответы (2)


Вы всегда можете использовать мои инструменты 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 на файловом обмене.

person Community    schedule 04.02.2011

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

person JC2    schedule 04.02.2011