rsolve

Bugs

Modérateur : xcasadmin

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

rsolve

Message par alb » mer. nov. 09, 2011 7:27 pm

Avec des valeurs approchées, c'est exact:
rsolve([u(n+1)=u(n)+(0.1),v(n+1)=v(n)+(0.2)*u(n)],[u(n),v(n)],u(0)=0,v(0)=0) renvoie [[0.1*n,0.01*n^2-0.01*n]]
En revanche avec des valeurs exactes, c'est inexact:
rsolve([u(n+1)=u(n)+(1/10),v(n+1)=v(n)+(1/5)*u(n)],[u(n),v(n)],u(0)=0,v(0)=0) renvoie [[5*n,1/2*n^2+(-1)/2*n]]

parisse
Messages : 5894
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: rsolve

Message par parisse » jeu. nov. 10, 2011 8:47 am

en effet, je corrige, ca sera dans la version 0.9.5 (j'ai gele la 0.9.4, c'est en effet cette version qui sera a l'oral du capes).

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: rsolve

Message par alb » jeu. nov. 10, 2011 6:20 pm

Du coup (0.9.5) rsolve([u(n+1)=u(n)+(1/10),v(n+1)=v(n)+(1/5)*u(n)],[u(n),v(n)],u(0)=0,v(0)=0) renvoie une erreur si approx est coche
(Indices incorrects dans la recurrence)

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: rsolve

Message par alb » mar. nov. 15, 2011 9:05 pm

Je ne retrouve plus les résultats antérieurs sur cet exemple
rsolve([u(n+1)=0.25*v(n)+u(n),v(n+1)=0.5*v(n),w(n+1)=0.25*v(n)+w(n)],[u(n),v(n),w(n)],[u(0)=0,v(0)=1,w(0)=0]) devrait donner des valeurs approchées, j'ai des réponses exactes

parisse
Messages : 5894
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: rsolve

Message par parisse » mer. nov. 16, 2011 9:50 am

c'etait a cause des 0 exacts dans la matrice du systeme, du coup il faisait une diagonalisation exacte. Maintenant ca sera approche, mais le resultat n'est pas tres lisible avec des exp et la valeur numerique de ln(2).

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: rsolve

Message par alb » mer. nov. 16, 2011 4:37 pm

C'est vrai que mon exemple est mal choisi d'autant plus qu'il s'agit de trouver les comportements à la limite et c'est beaucoup plus simple avec cette écriture (vérifier que approx ne soit pas coché):
simplifier(rsolve(exact([u(n+1)=0.25*v(n)+u(n),v(n+1)=0.5*v(n),w(n+1)=0.25*v(n)+w(n)]),[u(n),v(n),w(n)],[u(0)=0,v(0)=1,w(0)=0]))

Répondre