Runge Kutta sur Matlab
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Runge Kutta sur Matlab



  1. #1
    invite957ed815

    Runge Kutta sur Matlab


    ------

    Bonjour, à tous,

    je me présente, je m'appelle Vivian et suis actuellement en 3e année de licence en échange en Australie. J'ai choisi ce semestre un cours de physique numérique pour apprendre à utiliser des programmes comme Matlab pour résoudre des problèmes scientifiques. Seulement le cours consiste en des heures de travail pratique sur ordinateur où certes le professeur est disponible pour nous aider mais in fine ne délivre pas de véritable cours. Aussi pendant ses séances j'arrive à avancer je suis vite bloqué lorsque j'essaie de continuer seul. C'est pour cela que je m'adresse à vous. J'ai actuellement un premier devoir à faire concernant les différentes méthodes de résolution numérique d'équation différentielles du premier ordre. Et malgré toutes mes recherches sur le net je n'arrive pas à rédiger sur Matlab une résolution d'équation par la méthode de Runge-Kutta, je comprends bien l'algorithme, je sais que l'on peut faire appel directement au solveur mais je dois écrire moi-même un scipt pour mon exercice (c'est à dire calculer k1, k2, k3, k4 puis yn).

    L'équation est la suivante : dy/dx=sin4x+sin11x et y(0)=0 à résoudre sur [O,Pi] qvec un dx e 0.05.

    J'ai tenté plusieurs trucs mais vois bien (avant même de tester) qu'à chaque fois ça ne va pas... je ne vois vraiment pas comment m'y prendre :

    dernier essai en date :

    Code:
    clear 
     
    // Rungekutta
    dx=0.05;
    x=[0:dx:Pi];
    xnum=length(x);
    y=zeros(0,xnum);
    f=(sin(4*x)+sin(11*x));
    y(1)=0
    for j=1:xnum
    k1(j) = dx * (f,{x(j),y(j)});
    k2(j) = dx * (f,{x(j)+dx/2, y(j)+k1(j)/2});
    k3(j) = dx * (f,{x(j)+dx/2, y(j)+k2(j)/2});
    k4(j) = dx * (f,{x(j)+dx,y(j)+k3(j)});
    end
    
    for j=2:xnum
      y(j) = y(j-1) + 1/6*(k1(j-1)+2*k2(j-1)+2*k3(j-1)+k4(j-1))
    end
     
    ya=-(1/4)*cos(4*x)-(1/11)*cos(11*x)+(15/44);
    
    figure(1);
        plot(x, y, x, ya)
    Mais il y a là clairement un problème d'index. Donc si vous aviez une petite piste pour débuter, ça serait cool.

    En vous remerciant par avance pour votre aide.

    -----

  2. #2
    invitee9cdb61c

    Re : Runge Kutta sur Matlab

    salem, svp vs pouvez me donné le programme??

Discussions similaires

  1. Runge Kutta
    Par invite091bc544 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 11/10/2011, 16h14
  2. méthode runge kutta
    Par invited40409d0 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 07/11/2010, 15h04
  3. Algo de Runge Kutta
    Par invite9c7554e3 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 05/04/2010, 20h52
  4. Runge Kutta en méca céleste
    Par invite36dac211 dans le forum Physique
    Réponses: 14
    Dernier message: 27/06/2008, 16h53
  5. Runge Kutta (et Fortran)
    Par invite642d375a dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 26/03/2007, 21h24