Ode et paramètre variable
Fermé
layali4
-
22 nov. 2010 à 16:07
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 nov. 2010 à 17:22
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 nov. 2010 à 17:22
A voir également:
- Ode et paramètre variable
- Netflix paramètre compte - Guide
- Remettre parametre usine pc - Guide
- Parametre windows - Guide
- Changer parametre dns - Guide
- Parametre usine chromecast - Guide
5 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 22/11/2010 à 16:29
Modifié par KX le 22/11/2010 à 16:29
Dans ton cas, a est probablement une matrice, ce ne serait un "paramètre variable" que s'il était utilisé dans un for...
Après, tout dépend de ce que tu veux faire, du moment que tu as bien une valeur fixe à l'appel de ode, a(i) par exemple, ça devrait fonctionner.
La confiance n'exclut pas le contrôle
Après, tout dépend de ce que tu veux faire, du moment que tu as bien une valeur fixe à l'appel de ode, a(i) par exemple, ça devrait fonctionner.
La confiance n'exclut pas le contrôle
merci de ta réponse, je souhaite résoudre le système pour chaque valeur de a et obtenir un vecteur par concaténation qui regroupe la solution pour chaque valeur de a
a
a
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
22 nov. 2010 à 17:22
22 nov. 2010 à 17:22
Voici un exemple qui fonctionne avec Scilab (je n'ai pas Matlab pour tester)
À toi de l'adapter à ton problème.
À toi de l'adapter à ton problème.
pas = 100; //**************************************************** // Définition d'un système différentiel "variable" function u_abcd = exemple2x2(a,b,c,d,t0,u0,t1) // t1>t0 function up = f(t,u) // u'(t)=f(t,u(t)) up(1)=a*u(1)+b*u(2); // x'(t)=a*x(t)+b*y(t) up(2)=c*u(1)+d*u(2); // y'(t)=c*x(t)+d*y(t) endfunction t=linspace(t0,t1,pas); u_abcd=ode(u0,t0,t,f); endfunction //**************************************************** // Considérons par exemple le système différentiel : // // x'(t)=a*x(t)+2*y(t) x(0)=1 t=0..1 // y'(t)=3*x(t)+4*y(t) y(0)=1 a=1..10 // t0=0; u0=[1,1]; t1=1; n=19; // on choisi n=length(1:0.5:10)=19 a=linspace(1,10,n); b=linspace(2,2,n); // b, c, et d sont constants c=linspace(3,3,n); d=linspace(4,4,n); u=zeros(n,2*pas); //**************************************************** // Calculs for i=1:n do u(i,:)=exemple2x2(a(i),b(i),c(i),d(i),t0,u0,t1); end u // matrice résultat