1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
function [X]=valprop(A)
p=A(1,2)^2+A(1,3)^2+A(2,3)^2
if p == 0 then
X=[A(1,1);A(2,2);A(3,3)]
end
q = trace(A)/3
p=(A(1,1)-q)^2+(A(2,2)-q)^2+(A(3,3)-q)^2+2*p
p=sqrt(p/6)
B=(1/p)*(A-q.*eye(3,3))
r=det(B)/2
if r<=-1 then
phi=%pi/3
elseif r>=1 then
phi=0
else
phi = acos(r)/3
end
X=[q+2*p*cos(phi);q+2*p*cos(phi+(2*%pi/3));3*q-(q+2*p*cos(phi))-(q+2*p*cos(phi+(2*%pi/3)))]
disp(X, "Ma fonction donne : ")
endfunction
M=[0,2,-1;3,-2,0;-2,2,1]
valprop(M)
disp(spec(M), "La fonction Scilab donne : ") |
Partager