Bonjour,
je cherche à modéliser le fonctionnement d'un laser, qui est décrit par 2 équations différentielles couplées :
s' = A*g(s,n)-1*s(t)
n'=B*(J+J_M-n(t)-J*g(n,s)*s
avec :
-g(s,n)=1+C*n(t)-D*(s(t)-1)
-A,B,C,D,J des constantes
-J_M le courant du laser, qui est ici une constante
J'utilise la fonction "ode" de matlab, et ca marche très bien.
Maintenant, je cherche à moduler le courant du laser, de façon à obtenir un certain signal en sortie (c'est-à-dire que J_M n'est plus une constante, mais une fonction). J'ai trouvé la solution mathématique dans une publication :
J_M=E*(y''+(F*exp(y)+G)*y'+(exp(y)-1)
avec
-y(t)=ln(s(t))
-E,F,G des constantes
Dans mon fichier "ode", j'ai donc une troisième équation (J_M) qui se sert des dérivées de s(t), que je dois calculer. Mais comme la fonction "ode" travaille point par point, je ne peux pas utiliser la fonction "diff" qui me permettrait de calculer la dérivée : je suis donc bloqué. Existe-t-il un moyen facile de contourner ce problème?
Si vous avez déjà été confronté au problème, ou si vous avez une idée pour le résoudre, je serais ravi que vous m'en fassiez part. Si vous avez des questions, n'hésitez pas à me les poser. Je vous remercie d'avance pour vos réponses.
Partager