Bonjour,
J'ai deux équations différentielles que j'ai résolu en utilisant la fonction dsolve.
Pour vérifier si les équations étaient justes, j'ai essayé de faire un graphique pour visualiser les solutions, mais cela ne donne qu'une droite horizontale sur 0.
Si je change les valeurs de c1 pour d'autres valeurs que 0, le graphique ne s'affiche plus et Matlab m'indique les erreurs suivantes:
Error using sym/min (line 86) 
Input arguments must be convertible to floating-point numbers. 
Error in fplot (line 116) 
ymin = min(y(J)); ymax = max(y(J)); %%% je n'ai pas bien compris cette erreur, je n'ai pas de ligne 116. 
Error in dsolve10032016 (line 29) 
fplot(fSol,[0,50]) %%j'ai essayé de mettre des bornes plus larges mais sans succès 
Je n'arrive pas à trouver la cause de ce problème. Auriez-vous une idée?
Script:
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
 
syms f(t) g(t) Vper Vcen Kper Kcen CLplacen 
eqn1=diff(f)==(2.5025*(g/Kper-(1-0.98)*(f/((1-0.925)*Kcen)))-CLplacen*(f/((1-0.925)*Kcen)))/Vcen; 
eqn2=diff(g)==(2.5025*((1-0.98)*(f/((1-0.925)*Kcen))-(g/Kper)))/Vper; 
S=dsolve(eqn1,eqn2) 
fSol(t) = S.f 
gSol(t) = S.g 
%ou 
%[fSol(t) gSol(t)] = dsolve(eqn1, eqn2) 
c1 = f(0) == 0; %%% erreur quand je mets une autre valeur que 0 
c2 = g(0) == 0; 
[fSol(t) gSol(t)] = dsolve(eqn1, eqn2, c1, c2) 
fplot(fSol,[0,50]) 
hold on 
fplot(gSol,[0,50]) 
grid on 
legend('fSol','gSol','Location','best')