У меня есть то, что кажется мне очень простой символической математической проблемой. У меня есть линейная система из 4 уравнений и 4 неизвестных. Коэффициенты - это не численные константы. Я закодировал проблему в MATLAB. Мой код ниже. Он пробежал пару часов, прежде чем я его закрыл. Для меня я должен получить ответ в течение нескольких минут. Я не уверен, в чем проблема.Использование символического движка MATLAB для решения линейной системы 4 на 4
syms a b c d e f g h k l m n o p q r W X Y Z A B
eqn1=a*W+b*X+c*Y+d*Z==A;
eqn2=e*W+f*X+g*Y+h*Z==B;
eqn3=k*W+l*X+m*Y+n*Z==0;
eqn4=o*W+p*X+q*Y+r*Z==0;
Soln=solve([eqn1,eqn2,eqn3,eqn4],[W,X,Y,Z],'ReturnConditions',true);
SolnW=Soln.W
SolnX=Soln.X
SolnY=Soln.Y
SolnZ=Soln.Z
Conditions=Soln.conditions
Parameters=Soln.parameters
У меня есть два вопроса.
(1) Является ли способ, которым я подошел к проблеме эффективно? Например, возможно, MATHEMATICA или MAPLE больше подходят для работы?
(2) Я ожидал решения Крамера с терминами, представляющими расширенные формы детерминант. Конечно, это будет уродливо. Есть ли способ заставить MATLAB упростить результат алгебраически?
Можете ли вы отформатировать код как код и удалить все лишние белые линии? – Adriaan