Я пытаюсь закодировать программу, которая решает системы уравнений в MATLAB. Мне было интересно, есть ли способ заставить MATLAB группировать подобные термины и поместить их коэффициенты в матрицу? Я понимаю, что могу просто ввести коэффициенты вручную, но я хочу надеяться перепрофилировать эту небольшую программу для выполнения узлового анализа.Группировка как условия в MATLAB
1
A
ответ
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
Было бы достаточно просто написать синтаксический анализатор, чтобы выполнить эту функцию самостоятельно. Выделите число, а затем переменную с ее мощностью. Удачи.
Вы пытались посмотреть Symbolic Matlab Toolbox? http://www.mathworks.com/help/toolbox/symbolic/f1-82523.html#f1-56798 – Lordalcol
Вы имеете дело с [символическими уравнениями] (http://www.mathworks.com/products/symbolic/) ? – gnovice