Corrigés desexercices
15
mat1.m
✞
☎
A=[0 1/4 3/4;3/4 01 /4;1/4 3/4 0]
[P,D] = eig(A)
W=inv(P);
W*A*P
limAn=P*[1 00 ;0 00 ;0 00 ]*W
A^100
✝
✆
2.3 Méthode de la puissance
puiss3.m
✞
☎
maxiter=20;tol=1e-5;
A=rand(10);
%A=[1 1- 2;0 1- 1;0 0- 0.99];
%A=[1 1- 2;0 -1 -1;0 00 .1];
X=rand( length(A),1);
Q=X/norm(X);
for i=1:maxiter
X=A*Q;
Q=X/ norm(X);
mu(i)=Q’*A*Q;
end;
valp= eig(A);
[lambda1,i]=max( abs(valp));
lambda1=v alp(i)
plot(1:maxiter,mu)
xlabel(’iteration’,’FontSize’,16)
ylabel(’\mu’,’FontSize’,16)
✝
✆
Ce qu’il faut retenir de cetexercice
On notera la boucle sans testdeconvergence, ce qui n’est pas satisfaisant. Àdéfaut d’un vrai
test de convergence, on peut contrôler la différence entre deux itérés avec la boucle :
✞
☎
tol =1e-10;
j=1;
while (erreur>tol)&(j<=maxiter)
X=A*Q;
Q1=X/norm(X);
mu(j)=Q1’*A*Q1;
erreur= norm(Q-Q1);
Q=Q1;
j=j+1;
end;
if (j>maxiter) disp(’methodenonconvergente’); end;
✝
✆
Dunod –Laphotocopie non autorisée est un délit
15
mat1.m
✞
☎
A=[0 1/4 3/4;3/4 01 /4;1/4 3/4 0]
[P,D] = eig(A)
W=inv(P);
W*A*P
limAn=P*[1 00 ;0 00 ;0 00 ]*W
A^100
✝
✆
2.3 Méthode de la puissance
puiss3.m
✞
☎
maxiter=20;tol=1e-5;
A=rand(10);
%A=[1 1- 2;0 1- 1;0 0- 0.99];
%A=[1 1- 2;0 -1 -1;0 00 .1];
X=rand( length(A),1);
Q=X/norm(X);
for i=1:maxiter
X=A*Q;
Q=X/ norm(X);
mu(i)=Q’*A*Q;
end;
valp= eig(A);
[lambda1,i]=max( abs(valp));
lambda1=v alp(i)
plot(1:maxiter,mu)
xlabel(’iteration’,’FontSize’,16)
ylabel(’\mu’,’FontSize’,16)
✝
✆
Ce qu’il faut retenir de cetexercice
On notera la boucle sans testdeconvergence, ce qui n’est pas satisfaisant. Àdéfaut d’un vrai
test de convergence, on peut contrôler la différence entre deux itérés avec la boucle :
✞
☎
tol =1e-10;
j=1;
while (erreur>tol)&(j<=maxiter)
X=A*Q;
Q1=X/norm(X);
mu(j)=Q1’*A*Q1;
erreur= norm(Q-Q1);
Q=Q1;
j=j+1;
end;
if (j>maxiter) disp(’methodenonconvergente’); end;
✝
✆
Dunod –Laphotocopie non autorisée est un délit
