Bonjour
Je voudrait utiliser la fonction ode45 mais au lieu d'écrire la fonction dans un fichier de type fonction à côté je voudrais qu'il soit au même endroit afin d'intégrer le tout dans un boucle for.
avec systRK définit comme ceci
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 Fext1 = [(fp * p * (Sav1 + Sav2))* cos(thetac)/mp; ((fp * p * (Sav1 + Sav2))*sin(thetac))/mp; (((Pos1(2)-Bavy1)*fp*p*Sav1) + ((Pos1(2)-Bavy2)*fp*p*Sav2))*cos(thetac)/Ip]; %%%%%%%%%%%%%%%%%%%%%% % Utilisation de Ode45 %%%%%%%%%%%%%%%%%%%%%% % On définit les constantes K1, K2, K3 pour les rentrer % ensuite dans la fonction systRK K1 = Fext1(1); K2 = Fext1(2); K3 = fp*p*Sav1*cos(thetac)/Ip; K4 = fp*p*Sav2*cos(thetac)/Ip; [t,y] = ode45(systRK(Yrunge, K1, K2, K3, K4, bar1, bar2 ),[tini tfin],Yrungeini);
Comme les valeurs de K1, K2, K3, K4, bar1, bar2 change à chaque "tour" de la boucle for j'aimerai savoir comme faire pour que ce soit aussi modifié dans systRK
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function [ dYrunge ] = systRK(Yrunge, K1, K2, K3, K4, bar1, bar2 ) dY = zeros(4,1); dYrunge(1) = Yrunge(2); dYrunge(2) = K1; dYrunge(3) = Yrunge(4); dYrunge(4) = K2; dYrunge(5) = Yrunge(6); dYrunge(6) = (Yrunge(3)-bar1)*K3 + (Yrunge(3)-bar2)*K4; end
Merci d'avance
Partager