[Matlab] Double intégrale sur un triangle

Résolu
Houcem -  
Fee Fay Messages postés 646 Date d'inscription   Statut Membre -
Bonjour,
J'ai un problème au niveau de l'intégral double d'une fonction un peu compliquée.
Mais pour préciser mon problème je vous présente mon problème avec une fonction simple: f(t)=t.
MATLAB---------% COMMENTAIRE
f=inline('t','x','y'); % f(x,y) = x
Je veux faire une intégrale double sur f sachant que x varie entre 0 et 30-y et y varie entre 0 et 30.
(int 0..30)(int 0..30-y) t dx dy.
Merci d'avance
N.B: J'ai essayé avec la commande dblquad mais ça marche pas car par défaut, cette commande voit Xmin,Xmax,Ymin et Ymax comme étant des valeurs réelles.
Configuration: Windows XP
Firefox 3.0.10

1 réponse

  1. Fee Fay Messages postés 646 Date d'inscription   Statut Membre 377
     
    Bonjour mon ami !

    Ta demande date d'il y a une semaine mais au cas où tu n'aurais toujours pas de réponse, voici une manière de faire, probablement pas la meilleure mais peut-être cela te suffira-t-il ;-)
    L'astuce qui me vient à l'esprit est de forcer ta fonction à zéro sur le triangle supérieur (0<y<x<30) sur lequel tu n'intègre pas. Cela te permet d'utiliser sans crainte la fonction dblquad sur le carré [0,30]².
    Exemple :
    f=@(x,y)(x+y);
    intf=dblquad(@(x,y)((x<=30-y).*f(x,y)),0,30,0,30);
    Je te souhaite une bien bonne journée !
    0