[maple] pfffffff je comprend pas poukoi .

pfffffff je comprend pas poukoi . [maple] - Programmation

Marsh Posté le 06-05-2002 à 17:07:46    

arggg j'en ai marrrrrrrrrrrrrrrrrrrreeeeeee, soit ca plante soit ca n'evalue pas uk...
qq'un sait pourqUOI ,
(la fonction permettra de trouver le vecteur propre par la methode des puissances)
 
 
A:=matrix([[1,2],[3,4]]);u0:=[1,1];
                                 [1    2]
                            A := [      ]
                                 [3    4]
 
 
                             u0 := [1, 1]
 
 
> puiss := proc(M,x0,eps)
> local uk,ukp,r,anc,res,k,i;
> uk:=k->evalm(M^k&*x0);
> ukp:=k->evalm(M^(k+1)&*x0);
> r:=k->ukp(k)[1]/uk(k)[1];
> res:=[`k`,`uk`,`uk+1/uk`],[0,x0,ukp(1)[1]/x0[1]];
> k:=1;
> while abs(r(k)-r(k+1))>eps do
> k:=k+1;
> od;
> res:=res,seq([i,uk(i),r(i)],i=1..k);
> array([res]);
> end;

Reply

Marsh Posté le 06-05-2002 à 17:07:46   

Reply

Marsh Posté le 06-05-2002 à 17:40:04    

Est-ce que tu pourrais m'expliquer ta méthode (en 2 mots...)
 
A vue de nez je dirais comme ça que  
res:=[`k`,`uk`,`uk+1/uk`],[0,x0,ukp(1)[1]/x0[1]];  
me parait louche...

Reply

Marsh Posté le 06-05-2002 à 21:22:18    

nan c bon la dessus y'a pas de pb (comme ca ca empeche l'evaluation)
dc la methode :
A: une matrice U0 un vecteur
uk=A^k*U0
uk+1=A^(k+1)*U0
r=uk+1[1]/uk[1] (1ere coord des vecteurs)
 
tant que r est superieur a eps (passe en param) alors on augment k de 1
 et a chaque fois (pour pouvoir avoir un bo tableau recapitulatif) j'ajoute une liste au resultat (res:=res,[k,uk,r])

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed