Résoudre des équation differentielle matlab

layali4 -  
 ematene -
Bonjour,



je dois résoudre un système d'équation différentielle avec matlab le problème c'est que j'ai un paramètre d'une équation variable càd :
ypoint(1)=y(3).*(b*y(1)-a*y(2)) avec a=1:0.5:10.
je sais que pour résoudre un système à paramètres constants on utilise la commande suivante:
[t,y] = ode23('systeme', [0:dt:tfinal], [y01 y02 y03]);
ma question est comment faire "peut être une boucle for" pour résoudre ce système à paramètre variable le but c'est de faire une concaténation de y1,y2 et y3 pour chaque valeur de a.
merci beaucoup de votre aide
A voir également:

5 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu reprends le code que je t'ai déjà fait (ode et parametre variable) en modifiant exemple2x2 pour correspondre à ton équation ypoint.
1
layali4
 
je vais essayer merci
0
layali4
 
cela n'a pas marché et je n'arrive pas à comprendre les derniers ligne de ton programme.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Apparemment ton équation différentielle est degré 3, tu devrai donc avoir ypoint(1), ypoint(2) et ypoint(3) définis dans une fonction construite de la même manière que moi, (appelons la exemple3x3) si on ne la fait varier que sur a, on a qu'à lui donner comme paramètres (a,t0,u0,t1).

Mes dernières lignes seraient alors :

u=zeros(n,3*pas); // 3 car l'équation est de degré 3 (j'avais 2 dans mon exemple)

for i=1:n do // je parcours tous les a : a(1)=1, a(2)=1.5, ... a(n)=10
  u(i,:)=exemple3x3(a(i),t0,u0,t1); // j'attribue le calcul avec a(i) à la ième ligne de u
end                                   

u // matrice résultat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ematene
 
Bonsoir
comment je peux résoudre le système d'équation: x'= A(t) x + b !!!!
0