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 :

Quelle est la méthode rapide et précis pour calculer une double intégrale numérique


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Par défaut Quelle est la méthode rapide et précis pour calculer une double intégrale numérique
    Bonsoir,
    Il y a des multiples commandes matlab pour calculer le double intégrale numérique.
    Je veux savoir quelle est la meilleur méthode (rapide et précis) :
    - dblquad
    - quad
    - quadl
    - trapz
    mon cas c'est calcule double intégrale numérique d'une fonction polynomiale d'ordre 4.
    comparaison entre trapz et dblquad (rapide et précis) !!!!!!!
    est ce qu'il y d'autre méthodes !!!!!

    Merci pour toute réponse.
    Meilleures salutations.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2012
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 292
    Par défaut
    Bonjour,

    Pour une double intégrale tu as:
    doc quad2d

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Par défaut
    Tu trouve que 'quad2d' est la méthode le plus précis que la commande trapèze, parce que j'ai programmé la fonction avec la commande 'dblquad' mais lors de l’exécution du programme prend énormément du temps pour voir le résultat.
    j'ai lu quelque document il disait que la méthode de trapèze plus rapide et plus précis que l'utilisation de la quadrature de quad.
    dblquad : Numerically evaluate double integral over rectangle
    quad2d : Numerically evaluate double integral over planar region
    mon fonction utilise double intégrale pour le cas rectangle.

    merci pour votre aide.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2012
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 292
    Par défaut
    En fait j'ai lu un peu trop rapidement ta question.
    Il me faudrait savoir si ta fonction prend deux paramètres (x,y) et tu intègre par rapport aux deux variables? ou tu n'a qu'un paramètre et tu intègre deux fois?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 18
    Par défaut
    Oui, la fonction prend deux paramètres (x,y) et intègre par rapport aux deux variables.
    voir ce lien :
    http://www.developpez.net/forums/d11...if-boucle-for/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    P=-50:50:150;
    for i = 1:length(P)  
       Q(i)=dblquad(@(X,Y)bfun(X,Y,P(i)),0,1,0,1);
    end 
    plot(Q);grid on
    merci cordialement

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2012
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 292
    Par défaut
    Citation Envoyé par samo25 Voir le message
    entre trapz et dblquad (rapide et précis) !!!!!!!
    Attention trapz est peut-être rapide mais la précision reste à voir.
    Tu peux logiquement calculer l'erreur des différentes méthodes:
    -> méthode des trapèze : l'erreur fait intervenir une dérivée seconde
    -> méthode de Simpson : dérivée 4ème (Plus précis)

    Je te propose de regarder ce lien pour évaluer les erreurs des différentes méthode: http://fr.wikipedia.org/wiki/Calcul_num%C3%A9rique_d'une_int%C3%A9grale

    Toutes ces méthodes font appel au développement de Taylor donc plus l'ordre est grand plus c'est précis mais le temps de calcul est plus long.

    Après je peux te lancer sur une piste avec la Méthode de Romberg qui est bien expliqué sur wikipédia.
    Et voici le lien du code matlab:
    http://dmpeli.math.mcmaster.ca/Matla...ecture3-5.html
    fonction appelée: function Rnum = RombergInt(f,a,b,m)

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/10/2010, 18h47
  2. Réponses: 42
    Dernier message: 07/08/2009, 21h11
  3. PGCD: quelle est la méthode la plus rapide
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 05/03/2008, 18h26
  4. Réponses: 16
    Dernier message: 19/05/2005, 16h20

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