résolution d'équations différentielles sous matlab
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

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



  1. #1
    invitec768813d

    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. #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

  3. #3
    invitec768813d

    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.

  4. #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

  5. A voir en vidéo sur Futura
  6. #5
    invite358b7eca

    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. #6
    invite28a78d3b

    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

  8. #7
    invite1c3da091

    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

  9. #8
    invitebda71f50

    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.

  10. #9
    JPL
    Responsable des forums

    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

  11. #10
    invite1c3da091

    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


  12. #11
    invite1c3da091

    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


  13. #12
    invite4f8f1ccd

    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

  14. #13
    invite0ab6bca5

    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 invite6f2024cf 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 invite81ff7c15 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 invitef2a158f9 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 invitef6df8ec3 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 invite246a3c55 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 31/05/2006, 16h45
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...