Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 2604
Réponses : 9
Type : discussion
Etat : réponses autorisées

Euler

vibra le 03/10/2007 à 18:31
Ce programme (mon plus beau d'ailleurs) est uniquement réservé à ceux qui métrisent parfaitement la méthode d'Euler. Il s'agit donc d'un programme permettant de tracer une fonction grâce à une équadif. Il faut rentrer l'équation de la dérivée dans Y1, en utilisant X pour X, et Y pour la fonction inconnue (aussi souvent notée F dans les équadif). Puis on lance le programme, et on choisis appliquer. Il faut entrer les valeurs qui sont demandées, à savoir :
- la borne à gauche
- la borne à droite
- la valeur de x pour laquelle Y est connue
- la valeur de Y(X)
- le pas (plus il est petit, plus l'approximaion est précise). La vitesse du programme est de 5 calculs par seconde, donc choisissez le pas pour ne pas avoir à attendre trop. (sauf si la précision doit être extrême).
et le graphique affiche la courbe de F. Les valeurs sont conservées dans les matrices [A] (pour les valeurs à gauche de la valeur connue de Y), et [B] (pour les valeurs à droite de la valeur connue de Y).
exemple : Dessiner la courbe de f qui a pour valeur f(2)=6 et pour dérivéée y' = cos(y)+2x sur l'intervalle [0;5]
Pour cela, on rentre dans Y1 : cosY+2X, puis on entre, quand le programme le demande les valeurs suivantes : 0 5 2 6 ,1.
Le mode comparer sert à comparer la courbe de Y, et celle de Y' (si on à la chance de la connaitre, ou trouvée par calcul). Mais effectuer cette comparaison, il faut préalablement avoir tracé Y (donc avoir utilisé le programme en mode application), et avoir mis Y' dans Y2. Attention, toutes les variables, les matrices [A] et [B], ainsi que les listes L1, et L2 doivent -être restées intactes.
Le mode Table sert à déterminer, quelque soit x0 appartenant à [L,D] la valeur de Y. En fait, c'est un tableur. Les conditions préalables d'utilisation sont les mêmes que pour la comparaison.
Si vous avez des questions…

Code
ClrDraw
0->Z
PlotsOff
FnOff
Lbl 4
Menu("EULER",APPLIQUER",2,COMPARRER",1,"TABLE",7,"AIDE",3
Lbl 7
Input "F(X) : ",F
If F>D or F<L
Then
Disp "NON-CULCULE.
Pause
Goto 7
End
If F>C
Then
F-C->F
(C/P)->F
If fPart F=/=0
Then
Disp "CORRECTION
iPart F->F
End
1->G
While F>L2(1
F-L2(1->F
G+1->G
End
Disp [B](F,G
End
If F<C
Then
C-F->F
(F/P)->F
If fPart F=/=0
Then
Disp "CORRECTION
iPart F->F
End
1->G
While F>L1(1
G+1->G
F-L1(1)->F
End
Disp [A](F,G
End
If F=C
Disp A
Pause
Goto 7
Lbl 2
1->Z
"PG+Y"->Y3
ClrList L1,L2
{1,1}->dim [A]
0->[A](1,1
{1,1} ->dim [B]
0->[B](1,1
Input "L.Gauche : ",L
Input "L.Droite : ",D
Input "V.DEPART : ",C
If L=>D or L>C or C>D
Then
Disp "IL FAUT QUE","L=>V.D=>D
Pause
Goto 2
End
Input "F(0) : ",A
Repeat P>0
Input "PAS : ",P
If P<=0
Disp "P DOIT-ETRE >0
End
ClrHome
(C-L)/P->E
C-P(iPart E+(fPart E=/=0))->L
(C-L)/P->E
For (F,1,99
If E/F<=99
Goto 9
End
Lbl 9
iPart (E/F)+(fPart (E/F)=/=0)->E
If E=0
1->E
{E,F}->dim [A]
(D-C)/P->E
C+P(iPart E+(fPart E=/=0)->D
(D-C)/P->E
For (F,1,99
If E/F<=99
Goto 8
End
Lbl 8
iPart (E/F)+(fPart (E/F)=/=0)->E
If E=0
1->E
{E,F}->dim [B]
dim [A]->L1
dim [B]->L2
A->Y
C->N
-P->P
Y1(N->G
0->B
1->E
A->V
V->W
For (N,C+P,L,P
Y3(N->Y
B+1->B
If B>L1(1
Then
1->B
E+1->E
End
Y->[A](B,E
Min({V,Y}->V
Max({W,Y}->W
Y1(N->G
End
A->Y
C->N
-P->P
Y1(N->G
0->B
1->E
For (N,C+P,D,P
Y3(N->Y
B+1->B
If B>L2(1
Then
1->B
E+1->E
End
Y->[B](B,E
Min({V,Y}->V
Max({W,Y}->W
Y1(N->G
End
" "->Y3
Lbl 1
C->N
L->Xmin
D->Xmax
V->Ymin
W->Ymax
Pt-On(C,A
For (F,1,L1(2
For (E,1,L1(1
N-P->N
Pt-On(N,[A](E,F
End
End
C->N
For (F,1,L2(2
For (E,1,L2(1
N+P->N
Pt-On(N,[B](E,F
End
End
If Z=0
Then
Pase
For (F,L,D,(D-L)/94
Line (F,Y2(F),F+(D-L)/94,Y2(F+(D-L)/94)
End
End
Stop
Lbl 3
ClrHome
Output (1,1, »METTRE [Y’=KY+Q],DANS Y1.……………POUR COMPARER, METTRE F DANS Y2.
Pause
Goto 4
Stupid le 03/10/2007 à 18:33
la droite d'euler ça me dit quelque chose mais je sais plus à quoi ça sert
vibra le 03/10/2007 à 18:35
Nan, en fait c'est pour tracer une équadif.
coc5 le 03/10/2007 à 18:39
Euh... Jamais entendu parler de la droite d'Euler eyeonly.gif ... Une petite précision happy.gif ?
vibra le 03/10/2007 à 18:43
Nan, la droite d'Euler n'a rien à voir avec la méthode d'Euler. Cette dernière permet de tracer une courbe grâce à une équation différentielle (programme de terminale). Autrement dit, tu as une courbe inconnue F, que tu veux tracer. La seule chose que tu possède c'est une équation de la dérivée de F (G), du type G=kF+Q, et tu connais également une valeur de F, et c'est tout.
coc5 le 03/10/2007 à 18:57
A d'accord merci, mais dans ce cas c'est bien pratique happy.gif
Je pense que l'on va aborder ce thème plus tard dans l'année...
vibra le 05/10/2007 à 20:45
Voilà, j'ai finis les modifs et je l'ai mis au propre.
Stupid le 05/10/2007 à 21:31
rien que la longueur du programme et le nombre de calculs me donne envie de redoubler en ES
vibra le 05/10/2007 à 21:32
Mais non, mais non, en fait c'est très simple.
Stupid le 05/10/2007 à 21:33
je me suis dit la meme chose pour les trinomes et resultat j'ai eu 4...