bonjour je suis débutante en maple et j'aurai voulu savoir quel était le problème de ce programme de la méthode d'euler car le graph n'apparait pas
eul:proc(F,a,b,y0,n)
h:=(b-a)/n;
t[0]:=a;
y[0]:=y0;
P:=[t[0],y[0]];
for i from 1 to n
do y[i]:=y(t)[i-1]+h*F([i-1],y[i-1]);
t[i]:=a+i*h;
P: P(t[i],y[i]);
od;
plot([P]);
end;
ensuite pour l'utiliser je fais
eul(t,y),y,1,1,1,10); par exemple et il me recopie cette ligne
merci de votre aide
édit Océane : forum modifié
Bonjour, lyly65412
en fait c le prof qui a donné les 5 premiéres lignes nous on doit faire la boule for
merci de votre aide ça fait plaisir
Bonsoir, gui_tou
Je pense que lyly64512 préfère utiliser la syntaxe de son professeur.
Voici donc un programme qui fonctionne (en Maple 9):
eul:=proc(F,a,b,y0,n);
h:=(b-a)/n;
t[0]:=a;
y[0]:=y0;
P:=[[t[0],y[0]]];
for i to n do y[i]:=y[i-1]+h*F(t[i-1],y[i-1]);
t[i]:=a+i*h;
P:=[op(P),[t[i],y[i]]];od;
plot(P);
end;
F:=(t,y)->y;
eul(F,0,1,1,10);
Cela tracera la solution approchée de l'équation différentielle y'=y par la méthode d'Euler avec 10 points.
merci bcp perroquet c'est trés sympa je l'ai testé il marche impeccable je vé pouvoir continuer le dm
merci encore
Le "op" sert à enlever les crochets [ ], on les rajoute ensuite. On aurait pu s'en passer en écrivant:
P:=[t[0],y[0]];
for i to n do y[i]:=y[i-1]+h*F(t[i-1],y[i-1]);
t[i]:=a+i*h;
P:=P,[t[i],y[i]];od;
plot([P]);
end;
(je n'ai pas testé la modification ... et je ne la conseille pas ou alors, il est préférable de sauvegarder le vieux programme avant de créer le nouveau)
La fonction F est introduite à la ligne:
F:=(t,y)->y;
(ici, on a F(t,y)=y )
Donc, pour changer de fonction F, c'est en rajoutant une ligne de ce type avant d'appeler la procédure eul
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :