Bonjour, voici un petit programme qui marche très bien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
clear all
 
x0=[1;2];
time=[0;4];
 
[t,Y]=ode45(@systemODE,time,x0);
 
figure
plot(t,Y(:,1));
figure
plot(t,Y(:,2));
avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function xdot=systemODE(t,x)
xdot=zeros(length(x),1);
xdot(1)=x(2);
xdot(2)=x(1);
maitenant, j'aimerais pouvoir choisir entre ode45, ode23tb ode15s etc... (dans ma GUI j'ai une liste déroulante pour choisir le solveur). Comment faire ? Le programme suivant me renvoie une erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
clear all
 
x0=[1;2];
time=[0;4];
funODE=ode45;
 
[t,Y]=funODE(@systemODE,time,x0);
 
figure
plot(t,Y(:,1));
figure
plot(t,Y(:,2));
avec l'erreur

??? Error using ==> ode45
Not enough input arguments. See ODE45.

Error in ==> prout at 5
funODE=ode45;
Avez-vous une idée ?

Merci.