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

 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 !!!

0
user3303896 16 Фев 2014 в 21:37
Вам понадобится «Символический» набор инструментов
 – 
tashuhka
16 Фев 2014 в 21:47

1 ответ

Лучший ответ

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

syms x;
A=[2-x, 5; 2, 3-x];
solve(det(A) == 0)
4
sebas 16 Фев 2014 в 21:47
Привет, да, я знаю, что есть функция Det .. Но мне не разрешено ее использовать !!! Мне нужно вычислить определитель вручную с помощью (2-x * 3-x) - (5 * 2) = 0 .. Но я всегда получаю ошибку в Matlab, потому что переменная X никогда не определялась раньше ... После того, как я вычислю вручную, я буду используйте корневую функцию Matlab .. Вы знаете, как умножить (2-5) на (3-x) ???
 – 
user3303896
16 Фев 2014 в 22:14
Определить переменную как символьную. syms x; detA = (2-x)*(3-x)-5*2; solve(detA == 0); Не забывайте круглые скобки, иначе выражение будет неправильным, как в вашем вопросе.
 – 
sebas
16 Фев 2014 в 22:19