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