我对MATLAB不太熟悉,我刚刚开始使用它,并且需要帮助修复我已经解决的一些问题。
a = input('Skriv inn en verdi for a: ');
b = input('Skriv inn en verdi for b: ');
c = input('skriv inn en verdi for c: ');
d = input('Skriv inn en verdi for d: ');
A = [a b; c d]
%Tester om matrisen er rektangulær
[na, ma] = size(A);
if na ~= ma
disp('ERROR');
return
end
syms lambda
det =((A(1,1)-lambda)*(A(2,2)-lambda))-(A(1,2)*A(2,1))
%Currently under development
e1 = (t + sqrt(t^2 - 4*n*d))/2;
e2 = (t - sqrt(t^2 - 4*n*d))/2;
if A ~= 0
x1 = [a-e1; b];
end
当我输入1作为b c的值时,我得到了这个
Skriv inn en verdi for a: 1
Skriv inn en verdi for b: 1
skriv inn en verdi for c: 1
Skriv inn en verdi for d: 1
A =
1 1
1 1
det =
(lambda - 1)^2 - 1
我希望它写成lambda ^ 2 + 2lambda + - (c)= 0(我不知道如何将整个等式设为= 0
答案 0 :(得分:2)
要将(lambda - 1)^2 - 1
重写为lambda^2 + 2lambda +- (c)
,您可以使用expand
。如果您希望能够以等式[{1}}的形式与det
进一步合作,那么您需要一个双lambda^2 + 2lambda +- (c) = 0
:
=
打印时,还会有一个双det = expand(((A(1,1)-lambda)*(A(2,2)-lambda))-(A(1,2)*A(2,1))) == 0
。如果您需要=
仅用于打印目的,则可以使用:
det