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

  • Votes
  • Date
  • Date décroissante
  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"
    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
      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.
        1. ma fonction vaut zero en zero. ( elle est prolongeable par continuité en zero)
          cad pour x=0, elle vaut zero.
          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
            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
              1. Bonjour,
                Merc d'avance si vous avz le temps de regarder la suite de mon code!!

                je suis reconnaissant