Intégration sur matlab
Résolu
suzanne
-
Sacabouffe Messages postés 9427 Date d'inscription Statut Membre Dernière intervention -
Sacabouffe Messages postés 9427 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais faire l'intégrale sur matlab de 0 à 2000 de la fonction suivante:
x^(a-1)exp(-x)
sachant que a est une variable saisie à l'entrée dans une autre fonction et que l'intégration se fait sur x.
voila la fonction:
function y=ro(a)
y=quad(x.^(a-1).*exp(-x),0,2000)
comment matlab pourrait reconnaitre que l'intégration se fait sur x et pas sur a?
je voudrais faire l'intégrale sur matlab de 0 à 2000 de la fonction suivante:
x^(a-1)exp(-x)
sachant que a est une variable saisie à l'entrée dans une autre fonction et que l'intégration se fait sur x.
voila la fonction:
function y=ro(a)
y=quad(x.^(a-1).*exp(-x),0,2000)
comment matlab pourrait reconnaitre que l'intégration se fait sur x et pas sur a?
Configuration: Windows XP Firefox 2.0.0.19
2 réponses
-
Salut
Tu définis ta fonction en tant que fonction de x. Et de toute façon, même sans a, écrite telle qu'elle est, ta ligne de code passera pas. quad s'applique à une function handle, c'est-à-dire, quelque chose du genre :f = @(x)(expression dépendant de x et d'éventuelles autres variables prédéfinies);
Donc là, pour toi, ça donne quelque chose de ce goût-là :y = quad(@(x)(x.^(a-1).*exp(-x)),0,2000);
Mais bon, si tu vas jusqu'à des x aussi grand pour l'intégration, tu peux presque supposer que t'intègres jusqu'à ∞ et dans ce cas, y = Γ(a), où Γ est la fonction Gamma d'Euler ; et elle est implémenté sous Matlab.y = gamma(a);
Bonne nuit -
Y a pas de quoi. ;-)
À la prochaine !