IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Méthode des trapèze


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut Méthode des trapèze
    Bonjour,

    je suis étudiant en génie civil et je viens de débuter la programmation sous matlab.
    Je cherche à écrire un programme me permettant de calculer une intégrale par la méthode du trapèze. Je cherche à résoudre uniquement des intégrales de fonction linéaire d'ordre 1 type ''x+a''. je dois écrire le programme grâce à une boucle for.

    rappel : I=h/2*sum(f(xk)+f(xk+1)
    avec :h=(b-a)/n et xk=a+k*h

    Voici le programme que j'ai réalisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function I = fonction_trapeze(a,b,n,f)
        h=(b-a)/n
        I=0
        for k=0:n-1
            x=a+(k*h)
            f1=f
            x=a+((k+1)*h)
            f2=f
            I=I+f1+f2
     
        end
        I=I*h/2
    end
    je trouve des résultats sous forme de matrice ligne lorsque j'utilise ce programme.
    Que pourrai-je changer afin de pouvoir résoudre mes intégrales ?

    merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut Méthode des trapèze
    Bonjour,

    Quelques corrections :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a=0;b=10;n=10;
    f= @(x) x+1;
    I=fonction_trapeze(a,b,n,f)
     
    % Vérification
    x=a:0.1:b;
    I1=trapz(x,f(x))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function I = fonction_trapeze(a,b,n,f)
    h=(b-a)/n;
    I=0;
    for k=0:n-1
        x=a+(k*h);
        f1=f(x);
        x=a+((k+1)*h);
        f2=f(x);
        I=I+f1+f2;
    end
    I=I*h/2;

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut
    Merci beaucoup, effectivement avec ces corrections le programme fonctionne.

Discussions similaires

  1. Problème méthode des trapèzes en C++ pour débutant
    Par Andromedae dans le forum Débuter
    Réponses: 18
    Dernier message: 14/11/2014, 10h33
  2. double intégrale par la méthode des trapèzes
    Par sergy01 dans le forum MATLAB
    Réponses: 28
    Dernier message: 26/06/2012, 17h05
  3. Méthode des trapèzes
    Par solo12 dans le forum Fortran
    Réponses: 6
    Dernier message: 11/06/2011, 08h18
  4. méthode des trapèzes
    Par humanite dans le forum MATLAB
    Réponses: 12
    Dernier message: 10/01/2011, 21h09
  5. méthode des trapèzes
    Par suzanne1307 dans le forum Fortran
    Réponses: 3
    Dernier message: 15/03/2010, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo