请参阅此matlab脚本,它不会按原样执行。
>> syms x
>> A=('[1-x -1 0;-1 3-1.5*x -2;0 -2 5-2*x]')
>>solve(det(A),'x')
x的答案应该来了
0.351
1.605
3.54
但似乎代码中存在某种我无法找到的错误。
答案 0 :(得分:1)
首先,矩阵的行列式是一个数。不是矢量。因此,您声明的结果是' x'不可能是这样。
其次,你的矩阵' A'是' char'不是象征性的表达。试试这个:
syms x
A = [1-x, -1 0; ...
-1, 3-1.5*x, -2; ...
0, -2, 5-2*x];
d = det(A);
solve(d, 'x');
你应该
>> d =
>> - 3*x^3 + (33*x^2)/2 - (45*x)/2 + 6
现在,当你替换' x'你得到一个真实的数字。例如
>> subs(d, 5)
>> ans =
>> -69