Bonjour voila je dois réaliser un pendule double sous pascal, j ai donc rencontré plusieurs problemes que je commence a resoudre au fur et a mesure que j avance mais je ne les comprends pas tous...

Pour commencer les equations de mouvement du pendule double comportent des derivés secondes premieres,...

vous pouvez trouver les equations de mouvement sur des sites tels que

http://fr.wikipedia.org/wiki/Pendule_double
http://www.u-cergy.fr/etud/ufr/compo.../th%E9orie.htm

donc j ai commencé pour la moment a etudier le probleme..
mais a chaque fois j arrive a une erreur 202 d execution du tout petit programme que je viens de faire...
je ne comprend pas trop a quoi c est du donc si vous pouviez m aider ca serait COOL mais vraiment....

je code sur turbo pascal que j ai commencé est le suivant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
##########################################
 
program mouvement_pendule_double;
uses wincrt,wingraph;
 
const g=9.8;
      N=1000;
      deltaT=1e-2;
 
type  tableau = array [0..N] of real;
 
type pendule2 = record
              l1:real;
              l2:real;
              m1:real;
              m2:real;
              alpha:real;
              beta:real;
              end;
 
var penduledble : pendule2;
    fichierpenduledble : file of pendule2;
    PD1,PD2: tableau;
    i,j:integer;
 
 
procedure creertab( var tab3,tab4:tableau;pas,long1,long2,masse1,masse2,a1,a2:real);
 
var i:integer;
    tab1,tab2:tableau;
    U1,U2,U3,U4:real;
    V1,V2,V3,V4:real;
 
 
begin
 
tab1[0]:=0; {angle1 derivee premiere}
tab2[0]:=0; {angle2 derivee premiere}
tab3[0]:=0; {angle1}
tab4[0]:=0; {angle2}
 
U1:=0;
U2:=0;
U3:=0;
U4:=0;
 
V1:=0;
V2:=0;
V3:=0;
V4:=0;
 
 
for i:=1 to N do
begin
 
 
U1:=(masse2*sin(a1-a2)*tab1[i-1]*tab1[i-1])/(masse1+masse2*sin(a1-a2)*sin(a1-a2));
U2:=(masse2*g*sin(a2)*cos(a1-a2))/(long1*(masse1+masse2*sin(a1-a2)));
U3:=-(masse2*long2*sin(a1-a2)*tab2[i-1]*tab2[i-1])/(long1*(masse1+masse2*sin(a1-a2)*sin(a1-a2)));
U4:=-((masse1+masse2)*g*sin(a1))/(long1*(masse1+masse2*sin(a1-a2)*sin(a1-a2)));
writeln('chuis la');
 
 
tab1[i]:=pas*(U1+U2+U3+U4)-tab1[i-1];
writeln(tab1[i]);
 
 
V1:=(masse2*cos(a1-a2)*sin(a1-a2)*tab2[i-1]*tab2[i-1])/(masse1+masse2*sin(a1-a2)*sin(a1-a2));
V2:=((masse1+masse2)*g*sin(a1))/(long2*(masse1+masse2*sin(a1-a2)*sin(a1-2)));
V3:=(-(masse1+masse2)*long1*sin(a1-a2)*tab1[i-1]*tab1[i-1])/(long2*(masse1+masse2*sin(a1-a2)*sin(a1-a2)));
V4:=(-(masse1+masse2)*g*sin(a2))/(long1*(masse1+masse2*sin(a1-a2)*sin(a1-a2)));
writeln('ch uis la');
 
 
tab2[i]:=pas*(V1+V2+V3+V4)-tab2[i-1];
 
 
end;
end;
 
begin
 
creertab(PD1,PD2,deltaT,1,1,1,1,1,0.2);
end.
 
 
#############################################
Il n est pas tres long et je vous remercie d avance!!