Группировка похожих терминов в MATLAB - PullRequest
1 голос
/ 04 февраля 2011

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

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Вы всегда можете использовать мои 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 голосов
/ 04 февраля 2011

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

...