Intégration sur matlab

Résolu
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?
Configuration: Windows XP
Firefox 2.0.0.19

2 réponses

  1. 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
    1
    1. Merci beaucoup pour la réponse
      0
  2. Y a pas de quoi. ;-)
    À la prochaine !
    1