systeme differentiel nonlineaire - ode45
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

systeme differentiel nonlineaire - ode45



  1. #1
    Beloug

    systeme differentiel nonlineaire - ode45


    ------

    Bonjour,
    j'ai le systeme suivant a resoudre:
    y1"+3*y1*y2+y2^2=u1+y2*u2
    y2"+cos(y1*y2')+3(y1-y2)=u2-3*((cos y1)^2)*y2*u1

    couple en y1,y2 (outputs) et u1,u2 (inputs).

    en me remenant a un systeme du 1er ordre j'obtiens:
    x1'=x2
    x2'=u1+x3*u2-((x3)^2)-3*x1*x3
    x3'=x4
    x4'=u2-3*((cos x1)^2)*x3*u1-cos(x1*x4)-3*(x1-x3)

    pour le resoudre j'ai cru comprendre que la meilleure solution etait d'utiliser la fonction ode45 de Matlab, mais j'ai du mal a m'en servir:

    function dy=sys(t,y)
    u1=sym('u1','real'); %je ne sais pas comment les definir autrement...
    u2=sym('u2','real');
    dy=zeros(4,1);
    dy(1)=y(2);
    dy(2)=...equation 2...;
    dy(3)=y(4);
    dy(4)=...equation 4...;

    [t,y]=ode45(@sys,[0 20],[0 0]);
    plot(t,y(:,1));

    cela me donne une erreur "index exceeds matrix dimensions" que je n'arrive pas a resoudre...

    pouvez-vous m'aider quant a la resolution de ce systeme avec ode45 ou une autre methode ?
    Merci beaucoup

    -----

  2. #2
    naffrancois

    Re : systeme differentiel nonlineaire - ode45

    salut !

    alors déjà je ne comprends pas ce que tu veux faire avec la fonction sym. Que sont u1 et u2 ? des paramètres fixés sur tout le domaine d'intégration ? Si oui écrit juste u1=1, u2=2 enfin les valeurs de ton problèmes. Ensuite, il y a un pb lors de l'appel de la fonction ode45

    [t,y]=ode45(@sys,[0 20],[0 0]); le deuxième bracket [0 0] contient les conditions initiales mais il n'y en a que deux et tu as quatre equations.

    pour vérifier j'ai mis u1=1, u2=2 et y0=[1,1,1,1] ac un domaine d'intégration [0 1] et ça retourne bien un résultat

  3. #3
    Beloug

    Re : systeme differentiel nonlineaire - ode45

    salut,

    Merci de cette réponse, effectivement j'ai pas bien fais attentions aux conditions initiales...
    En tout cas, cela m'a permis de mieux comprendre cette fonction ode45.
    En fait, je me suis trompé dans l'approche de mon problème:
    je dois trouver u1 et u2, respectivement fonctions de (y1,y1') et (y2,y2'), telles que le systeme initial devienne un systeme linéaire découplé.

    Dans ce cas, il me semble que la fonction ode45 est d'aucune utilité. Et là, le passage aux 4 équations du 1er ordre me paraît beaucoup moins clair...

Discussions similaires

  1. système différentiel
    Par invitec815c39c dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 31/10/2009, 18h09
  2. système différentiel
    Par invite5c98d667 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 28/02/2009, 13h49
  3. Système differentiel
    Par invite14cecfec dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 26/04/2008, 13h51
  4. Système différentiel
    Par invitebb921944 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 20/05/2007, 22h24
  5. système différentiel
    Par invitefa636c3d dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 19/04/2005, 14h39