Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

résolution d'équations différentielles sous matlab



  1. #1
    Med

    Question résolution d'équations différentielles sous matlab


    ------

    Bonjour à tous;
    Je n'arrive pas à résoudre un système d'équations différentielles sous matlab.

    Les problèmes sont la présence de conditions initiales et la fonction qu'il faut utiliser pour la résolution.

    Pour plus d'informations:
    Le système d'équations est:

    -V*k*Ca*Cb = d(Cb*V)/dt
    Ca0*Q - V*k*Ca*Cb = d(Ca*V)/dt
    V = Vb0 + Q*t

    on cherche Ca et Cb

    Est ce que vous pouvez me donner la fonction qui permet la résolution en tenant compte des conditions initiales.

    Merci

    -----

  2. Publicité
  3. #2
    umfred

    Re : résolution d'équations différentielles sous matlab

    je pense que la fonction 'diff' peut t'aider (je suis plus sur du nom) . tape 'help diff' sous malab pour plus d'info, et n'hésite pas à regarder les fonctions similaires qu'il t'indique en fin d'aide

  4. #3
    Med

    Re : résolution d'équations différentielles sous matlab

    la fonction diff ne permet pas d'avoir la différentielle mais plutot de faire la différence entre les membres d'une matrice.

  5. #4
    umfred

    Re : résolution d'équations différentielles sous matlab

    désolé , en effet je me suis trompé.
    Sinon je pense que la fonction ode45 correspond mieux à ta demande (cette fois j'ai été voir sur le site de matlab )
    Sinon en tapant 'lookfor differential' ou 'lookfor equation', je pense qu'e tu aurai trouvé tout seul

  6. #5
    jeanfidi

    Re : résolution d'équations différentielles sous matlab

    salut!
    comment résoudre avec matlab une équation du 3e ordre?
    y(3)+a*y(2)+b*y(1)+c=0

    Merci d'avance!

  7. A voir en vidéo sur Futura
  8. #6
    jrosenzw

    Re : résolution d'équations différentielles sous matlab

    Citation Envoyé par jeanfidi Voir le message
    salut!
    comment résoudre avec matlab une équation du 3e ordre?
    y(3)+a*y(2)+b*y(1)+c=0

    Merci d'avance!
    Salut
    La reponse à ta question est sur ce lien:
    http://maths.insa-lyon.fr/~balac/matlab/FAQ4.html
    J'espère que ça pourra t'aider.
    Joyeux Noêl

  9. Publicité
  10. #7
    fizwizbiz

    Re : résolution d'équations différentielles sous matlab

    G le meme genre de probleme pour solutionner des équa dif toute bete sur matlab??? Mon code c:

    function udot = oscillateur(t,u)
    % on initialise le vecteur colonne udot
    udot = zeros(2,1);
    %on calcule les dérivées
    udot(1) = u(2);
    udot(2) = -0.5*u(2) -1.5*u(1);
    % eta/m = 0.5 et k/m = 1.5, par exemple.


    [t u] = ode45('oscillateur',[0 20],[0 2]);

    plot(t,u(:,1));
    hold on;
    plot(t,u(:,2),'r-.');
    xlabel('temps (s)');
    title('Pendule amorti');
    legend('Position (m)','Vitesse (m/s)');


    Je l'ai repris tel quel d'un site qui essaye d'expliquer ode45 mais matlab m'affiche le message d'erreur :


    ??? Input argument "u" is undefined.

    Error in ==> oscillateur at 9
    dy(1) = y(2);

    Qqn aurai il une idée de ce qui manque a mon code??
    Ca me semble difficile de définir u vu que c ce que je cherche ???

    Merci
    Fiz

  11. #8
    le fatumbi

    Re : résolution d'équations différentielles sous matlab

    et je suppose que la 1ere partie (toute la fonction oscillateur) est bien dans un fichier .m , séparé, et non tout copé/collié tel quel comme ça.

  12. #9
    JPL

    Re : résolution d'équations différentielles sous matlab

    Petit rappel. Selon la charte du forum on n'écrit pas "c" mais "c'est".
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  13. #10
    fizwizbiz

    Re : résolution d'équations différentielles sous matlab

    Ouaaaaaaaa! Ce n'étais que ca! infiniment merci j'adore la solidarité d'internet.

    J'ai toujours eu du mal avec matlab et la j'arrive enfin a qqch !
    ok du copier coller c'est pas censé etre tres compliqué mais quand meme ca fait du bien ! Encore merci!
    Fiz


  14. #11
    fizwizbiz

    Unhappy HELP matlab

    Salut à tous,

    je m'arrache de nouveau les cheveux devant mon ordinateur : j'essaye de modéliser le vol d'un volant de badminton par équation différentielle le haut du code m'a été donné par mon prof en me disant vous ne devez pas le comprendre changez juste le dernier paragraphe...

    Ok ca fait plaisir voila le résultat :


    clear;
    mov = avifile('c:\test113.avi','Comp ression','None','Quality',100, 'fps',25)
    global g rho m SCx
    g = 9.81;m = 0.005;rho = 1.183;SCx = 0.001431147
    figure('NumberTitle','off','Na me','Qu y mettre ???')
    axis([-6 20 -6 6]);hold on;
    xlabel('X + unité');
    ylabel('Z +unité');
    for i=1:100
    options = odeset('RelTol',1e-5);
    [t,y] = ode45('Project',[0:0.05:20],[i/5 0],options);
    plot(y(:,1),y(:,2));
    F = getframe(gcf);
    mov = addframe(mov,F);
    zoom on;
    hold on;
    end
    mov = close(mov);

    % et la suite dans un .m
    function dy = Project(t,y)
    global g rho m SCx
    theta = atan(y(4)/y(2));
    dy = zeros(4,1);
    dy(1) = y(2);
    dy(2)=-cos(theta)*(y(2)^2)*0.5*rho*SC x/m;% betement les force de trainée
    dy(3)=y(4);
    dy(4)=-g-sin(theta)*(y(4)^2)*0.5*rho*SC x/m;%betement les forces de trainée

    Voila la réponse de matlab c'est comlètement incompréhensible à mes yeux :

    ??? Attempted to access y(4); index out of bounds because numel(y)=2.

    Error in ==> Project at 9
    theta = atan(y(4)/y(2))

    Error in ==> funfun/private/odearguments at 110
    f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

    Error in ==> ode45 at 173
    [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

    Error in ==> untitled10 at 24
    [t,y] = ode45('Project',[0:0.05:20],[i/5 0],options);


    Je sais que je vous en demande beaucoup mais vous êtes mon dernier recours !!!
    Fiz


  15. #12
    majidmodestie

    Re : résolution d'équations différentielles sous matlab

    Je veut résoudre cette equation diff svp

    dc/dt + A dc/dz - B d²c/d²z - 0.5 C = 0

    avec A et B constante
    Merci

  16. Publicité
  17. #13
    jusquiame

    Re : résolution d'équations différentielles sous matlab

    Bonsoir,
    C'est une équation aux dérivées partielles. Vous pourriez passer en transformée de Fourier, soit en t, soit en z (selon ce qui est le plus pratique pour la prise en compte des conditions aux limites).
    Bonne continuation !

Discussions similaires

  1. Résolution algébrique d'un système d'équations sous Matlab
    Par jbollagnier dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 22/10/2007, 10h45
  2. la résolution d'un systéme d'équations différentielles
    Par H.Dalila dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 26/04/2007, 14h07
  3. Résolution d'équations différentielles
    Par redvivi dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 14/01/2007, 12h59
  4. Résolution d'un système d'équations différentielles d'ordre 1
    Par layougue dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 23/11/2006, 13h56
  5. résolution d'équations différentielles partielles
    Par loki dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 31/05/2006, 16h45
Découvrez nos comparatifs produits sur l'informatique et les technologies.