Plot fonction urgent

Bonjour,
T=1:100;

f(T)=(1/T^2) * int_0^75 X^3 exp(T*X)/(exp(T*X)-1)^2 dX.

plot(T,f)!!

Merci de m'aider a evaluler l'inegrale avec methode de trapèze pour calculer cette inegrale puis tracer la courbe de f en fonction de T.

7 réponses

  1. fonction trapz pour calculer via la méthode des trapèzes.

    Mais vu que tu as l'équation, tu devrais plutôt utiliser une fonction genre "quad"
    0
    1. merci pour votre reponse.
      J'a fait un changement de variable, et e but est de calculer por chaque valeurs de T,

      l'integale : I= T^2 *int_0^Xmax { x.^3.*exp(x))./(exp(x)-1).^2 }dx
      avec Xmax= 4*1./T;

      Matlab:

      function y= myfun2(x)
      y=(x.^3.*exp(x))./(exp(x)-1).^2;

      puis

      Q=zeros(1,length(T));

      for k=1:length(T)
      Q(k) = T(k)^2*quad(@myfun2,0,Xmax(k));
      end

      mais ne fonctionne pas
      0
      1. Qu'est-ce qui ne fonctionne pas? Que te dit Matlab?
        De mon côté, ce qui me gène en premier lieu c'est que ta fonction n'est pas définie en 0 et que tu l'intègres à partir de 0.
        0
        1. ma fonction vaut zero en zero. ( elle est prolongeable par continuité en zero)
          cad pour x=0, elle vaut zero.
          0
          1. Certes... Moi je le sais mais pas Matlab... On parle d'un logiciel qui fait du calcul numérique: il ne s'amuse pas à calculer les limites ou les développements limités... si tu lui files du sin(x)/x, il va t'envoyer bouler pareil.
            Concrêtement, si tu lui donnes des fonctions non définies sur l'intervalle, il va avoir du mal. C'est à toi de faire le prolongement de ta fonction pour qu'elle marche sur l'intervalle considéré.

            Essaie avec quelque chose du genre:

            function y= myfun2(x)
            if x > 0
            y=(x.^3.*exp(x))./(exp(x)-1).^2;
            else
            y = 0;

            end
            0
            1. j'ai function y= myfun2(x)
              if x > 0
              y=(x.^3.*exp(x))./(exp(x)-1).^2;
              else
              y = 0;

              end

              mais quand tu u donne x=0:2;
              il donne comme otput y=0 seulement,

              j'ai pensé a faire ce truc :

              function y=fcv(x)
              y = zeros(size(x));
              y(w>0)= x(x>0).^3.*exp(x(x>0).)./(exp(x(x>0).)-1).^2;
              y(1)=0;

              puis j'ai fait :

              Qhelp=zeros(1,length(T));
              for k=1:length(T)
              Qhelp(k) =quad(@fcv,0,75);
              end

              plot(T,Qhelp);

              mais ne fonctionne plus
              0
              1. Bonjour,
                Merc d'avance si vous avz le temps de regarder la suite de mon code!!

                je suis reconnaissant
                0