Матричный расчет в MATLAB

Может ли кто-нибудь помочь мне решить эту проблему в Matlab. Допустим, у меня есть этот Matriks

 A=[2-x 5    
    2   3-x ]

где det(A)=0;

Таким образом, это можно записать как: (для вычисления определителя)

   (2-x * 3-x)-(5*2)=0

Но в Matlab я не могу поставить x до того, как определю его.

Будет ошибка:

 Undefined function or variable 'x'.

Пожалуйста помогите!! Мне не разрешено использовать функцию det из Matlab!!!


person user3303896    schedule 16.02.2014    source источник
comment
Вам нужен «Символический» набор инструментов   -  person tashuhka    schedule 16.02.2014


Ответы (1)


Вы должны сказать Matlab, что x является символьной переменной:

syms x;
A=[2-x, 5; 2, 3-x];
solve(det(A) == 0)
person sebas    schedule 16.02.2014
comment
Привет, да, я знаю, что есть функция Det.. Но мне не разрешено ее использовать!!! Мне нужно вычислить определитель вручную с помощью (2-x * 3-x)-(5*2)=0.. Но я всегда получаю ошибку в Matlab, потому что переменная X никогда не определялась раньше... После того, как я вычислю вручную, я буду используйте корневую функцию Matlab .. Знаете ли вы, как умножить (2-5) на (3-x) ??? - person user3303896; 16.02.2014
comment
определите переменную как символьную. syms x; detA = (2-x)*(3-x)-5*2; solve(detA == 0); Не забудьте круглые скобки, иначе выражение будет неверным, как в вашем вопросе. - person sebas; 16.02.2014