Voici mon prog ci dessous. Quand je le simule il donne des résultats très inattendu. Un défaut de programmation ?
Il s'agit d'un modèle mécanique a partir d'un moteur assemblé a un arbre dont je veut observé vitesse et position et voir kel parametres l'influence.
MOn systeme du 1er ordre découle d'un systeme de 3 equations 2nd ordre que j'ai modifié en 6 equations du 1er ordre.Bref ça donne ça:
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 % Ma fonction décrivant le systeme function dy=fun(t,y) Cm=28;Cr=1; Cf1=0.3;Cf2=0.3;Cf3=0.3; J1=0.4;J2=1;J3=1; K1=1;K2=1;K3=1; y=zeros(6,1) dy=zeros(6,1); dy(1) = (K2/J1)*y(4) - (K2/J1)*y(5) + (Cm-Cf1)/J1; dy(2) = (K2/J2)*y(4) - (K2+K3)/J2*y(5) + (K3/J2)*y(6) - (Cf2/J2); dy(3) = (K3/J3)*y(4) - (-K3/J3)*y(5) - (Cf3+Cr)/J3; dy(4) = y(1) dy(5) = y(2) dy(6) = y(3) end
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 %******Mon programme principal****** %Declaration de mes constantes Cm=28;Cr=1; Cf1=0.3;Cf2=0.3;Cf3=0.3; J1=0.0033;J2=0.2822;J3=0.2627; K2=314855;K3=1228061; %Mes conditions initiales y0=[0;0;0;0;0;0] t0=0,tf=100000; options=odeset('RelTol',1e-4); [t,y] = ode45(@fun,[t0,tf], y0,options); subplot(211) plot(t,y(:,1),'b', t,y(:,2),'r', t,y(:,3),'+',t,y(:,4),'.',t,y(:,5),'g',t,y(:,6),'c')
Partager