Bonjour tout le monde,

Ce problème semble poser problème à pas mal de gens, mais je n'ai pas trouvé de solution à mon problème ailleurs sur le net.

Je dois résoudre un système d'équation différentiel tout simple pour un projet en utilisant le solver ode45.

J'ai essayer avec plusieurs exemples sur internet, mais j'ai à chaque fois le même problème...

Voilà ce que je fais avec par exemple le modèle trouver sur ce site : http://www.mathworks.ch/ch/help/matlab/ref/ode45.html:
- je met le code suivant dans un script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1)*y(3);
dy(3) = -0.51*y(1)*y(2);
 
options = odeset('RelTol', 1e-4,'AbsTol', [1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
 
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
-et quand je veux "run" mon script, le message d'erreur suivant s'affiche :
Not enough input argument
. Apparemment MATLAB attend que je lui donne des valeurs t et y pour la fonction rigid...

Est-ce que quelqu'un pourrait me venir en aide?