Aide matlab
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 40

Aide matlab



  1. #1
    invitecd18378c

    Aide matlab


    ------

    Bonjour,
    Merci de m'aider pour ce probleme.

    L parametre T vari entre 0 et 100, T=1:100;
    la fonction
    f(T)=(1/T^2) * int_0^75 X^3 exp(T*X)/(exp(T*X)-1)^2 dX.

    int_0^75 = integral entre 0 et 75

    plot(T,f)!!

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

    -----

  2. #2
    Dlzlogic

    Re : Aide matlab

    Bonjour,
    Que ce soit avec Matlab ou un autre langage, c'est pareil.
    D'après vous c'est un problème, pas un exercice, donc, où est le problème, où y a-t-il une difficulté ?

  3. #3
    invitecd18378c

    Re : Aide matlab

    merci pour votre reponse.
    J'ai des dificlutés a coder en Maltab, et tracer la courbe. Je suis débutant avec Matlab

  4. #4
    Dlzlogic

    Re : Aide matlab

    Bonjour,
    Vous êtes débutant en Matlab ou débutant en programmation ?
    Commencez par faire l'algorithme, on verra le code après.

  5. A voir en vidéo sur Futura
  6. #5
    invitecd18378c

    Re : Aide matlab

    une fonction pour l'integrand:

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


    Main program:

    T=5:5:100;
    Q=zeros(1,length(T))
    for k=1:length(T)
    Q(k) = 1/T(k)^2*quad(@fcv,0,75);
    end


    puis je fais:

    plot(T,Q);


    Que pensez vous?????

  7. #6
    Dlzlogic

    Re : Aide matlab

    Bonjour, apparemment, vous commencez par le code et vous ferez l'algorithme après .

  8. #7
    invitecd18378c

    Re : Aide matlab

    Bonjour

    pas clair votre reponse...

  9. #8
    Dlzlogic

    Re : Aide matlab

    Manifestement il y une incompréhension du terme algorithme.
    Voici ma définition appliquée à l'informatique.
    Un algorithme est la description plus ou moins détaillé d'une opération à réaliser. Un exemple hors informatique : opération
    "Acheter du pain".
    Je regarde si je n'ai pas un pain de réserve.
    sinon
    Je regarde s'il pleut
    Si oui
    Je prends mon parapluie
    Si non
    Le regarde s'il y a du soleil
    si oui
    je mets mon chapeau.
    Je prends mon porte-monnaie
    Je met le collier à mon chien,
    Je sors
    Je ferme la porte à clé.
    Là j'ai écrit un algorithme en français, j'aurais pu l'écrire sous forme d'ordinogramme.
    Quand cela est fait je choisi le langage, ou je prends le seul dont je dispose, qui va me permettre de le coder de façon que la machine puisse réaliser l'opération.
    Ou encore plus facile, je demande à quelqu'un d'autre de faire cette traduction à ma place, ce qui me laissera le temps de faire un autre algorithme.

    Donc, à l'évidence, vous avez sauté cette étape et écrit le code directement. Il se trouve que plus on a d'expérience en développement, plus on s'attache à faire un algorithme détaillé.

    Donc faite cet algorithme en français, on en discute, et le code viendra tout seul.

  10. #9
    invite43901482

    Re : Aide matlab

    Bonjour,

    @frjulien

    On vous demande avant de coder tête baissée si vous savez déjà résoudre le problème, d'où la demande de Dlzlogic...

    Pour cela il vous demande l'algorithme et non le code.

  11. #10
    invitecd18378c

    Re : Aide matlab

    Bonjour,
    j'ai codé cette fonction 'l'integrand'

    function y=fcv(y,T)

    if y>0
    y=X^3 exp(T*X)/(exp(T*X)-1)^2
    else
    y=0;
    end

    Que pensez vous.

    Puis je fais
    T=5:5:100;
    Q=zeros(1,length(T))
    for k=1:length(T)
    Q(k) = quad(@fcv,0,75);
    end


    Mais!!! ne fonctione plus!!!!!
    plot(T,Q);

  12. #11
    invitecd18378c

    Re : Aide matlab

    Pour comprendre mes erreurs jaifiat c petit code pour calculer int_0^1 k*x dx pour differente valeur de $k$ mais ...!!!!! a e tourne pas

    clear all;
    function f=ffff(x,k)
    f=k*x;

    Main program
    Q=zeros(1,3);
    for k=1:3
    Q(k)=quad(@ffff,0,1);
    end

  13. #12
    Dlzlogic

    Re : Aide matlab

    Je vois toujours pas l'algorithme.
    Tant que vous ne l'aurez pas fait, on pourra pas vous aider.

  14. #13
    invitecd18378c

    Re : Aide matlab

    dans ton texte en Francais, seulement n comprend comment utiliser if and else

    if (conditon)

    proposition

    elseif condition
    Propositon
    .
    .
    .
    else
    Proposition
    end
    %%%%%

    ceci sert à construire l'integrand dans mo integral

    function y=fcv(y,T)

    if y>0
    y=X^3 exp(T*X)/(exp(T*X)-1)^2
    else
    y=0;
    end

    mais après...

  15. #14
    Dlzlogic

    Re : Aide matlab

    Qui parle de if et else, pour l'instant on reste en français.
    Comment calculer une intégrale avec la méthode des trapèzes ou celle de Simpson ?
    Moi, je sais, mais il faudra l'expliquer à la machine, alors, avant de coder, il faut l'exprimer en français.

  16. #15
    invite43901482

    Re : Aide matlab

    Comment calculer une intégrale avec la méthode des trapèzes ou celle de Simpson ?
    @frjulien

    Si théoriquement tu ne sais pas, le coder sera impossible, ça semble évident...

  17. #16
    invitecd18378c

    Re : Aide matlab

    Theoriquement je sais mais le coder proprement en Matlab ca me semble evident mais!!!!!. sache je suis etudiant section physique

    Exemple Methode de Trapèze:

    Je code d'abord la fonction 'L'ntegrand'

    function y=fcv(y,T)

    if y>0
    y=X^3 exp(T*X)/(exp(T*X)-1)^2
    else
    y=0;
    end

    puis l'approximation de l'integral en utilisant Methode de Trapèze et on fait loop en "T"

    N=100;
    h=75-0/N;
    z=0:h:75;
    Matrix=zeros(size(T));
    for k=1:length(T)
    y=fcv(z,T(k));
    Matrix(k)=h*((y(1) +y(N +1))/2 +sum(y(2:N)));
    end

    puis plot(T, Matrix);


    esperons !!! avoir des idées clairsssss

  18. #17
    Dlzlogic

    Re : Aide matlab

    A l'évidence vous ne voulez pas écouter les conseils d'on essaye de vous donner.

  19. #18
    invitecd18378c

    Re : Aide matlab

    conseil numero un:::: step by step please soit direct e programation, j'ai un rapport a rendre

  20. #19
    invitecd18378c

    Re : Aide matlab

    BJ,

    J'attend vos conseils.

    Merci d'avance

  21. #20
    Dlzlogic

    Re : Aide matlab

    C'est simple : écrire l'algorithme.
    Imaginez tout simplement que vous vouliez expliquer à quelqu'un la façon de procéder.
    Alors, écrivez le en français, sans aucun code de langage informatique.

  22. #21
    invitecd18378c

    Re : Aide matlab

    Salut,
    Notre but est calculer tracer en fonction de T la varation de f(T)= integral de 0 a 75 ( X^3 exp(T*X)/(exp(T*X)-1)^2 ) dX

    On commencer donner une approximtion de l'integral e utilisant la méthode de trapèze.

    Pour simplfier posons l'integrand g(X,T)=X^3 exp(T*X)/(exp(T*X)-1)^2, pour x different de zero et g(0)=0.


    Pur cela, posons a=0, b=75, on divise l'interval [a,b] en N sous-intervals de longeur petit, longeur de chaque sous-interval egal à h=b-a/N.

    Notons x_k=a+k*h, ce sont les noeuds dans cet interval [a,b], k=0 jusqu'à N

    la fomule de trapeze devient : f(T)= h ((g( a)+g(b))/2 + somme g(x_k), x=2, N-1)

    on obtient alors une fonction simple f(T), qu'on peut tracer en fonction de T.

    tracer ( T, f(T)) pour T=1 jusqu'à 100.

    merci d'avance

  23. #22
    invitecd18378c

    Re : Aide matlab

    Salut,
    Notre but est tracer en fonction de T la varation de f(T)= integral de 0 a 75 ( X^3 exp(T*X)/(exp(T*X)-1)^2 ) dX

    On commence à donner une approximtion de l'integral en utilisant la méthode de trapèze.

    Pour simplfier posons l'integrand g(X,T)=X^3 exp(T*X)/(exp(T*X)-1)^2, pour x different de zero et g(0)=0.


    Pur cela, posons a=0, b=75, on divise l'interval [a,b] en N sous-intervals de longeur petit, longeur de chaque sous-interval egal à h=b-a/N.

    Notons x_k=a+k*h, ce sont les noeuds dans cet interval [a,b], k=0 jusqu'à N

    la fomule de trapeze devient : f(T)= h ((g( a)+g(b))/2 + somme g(x_k), x=2, N-1)

    on obtient alors une fonction simple f(T), qu'on peut tracer en fonction de T.

    tracer ( T, f(T)) pour T=1 jusqu'à 100.

    merci d'avance

  24. #23
    Dlzlogic

    Re : Aide matlab

    Bonjour,
    J'ai l'impression que vous ne savez pas du tout ce qu'est un algorithme. Regardez sur Wiki, c'est bien expliqué.
    Je vais vous donner un exemple d'algorithme :
    "Faire une addition"
    Lire un nombre
    Donner à une variable A la valeur de ce nombre
    Lire un autre nombre
    Donner à une autre variable B la valeur de cet autre nombre
    Attribuer à une variable C la valeur de la somme A+B
    Renvoyer la valeur de C

    Maintenant, écrivez un algorithme "Faire plusieurs additions".

  25. #24
    invitecd18378c

    Re : Aide matlab

    Bonsoir

    Je n'ai jamais eu un cours d'algorith, por cela j'ai des soucis en programation.

    Si vous permitez on essai d'appliquer ce que vous dites a notre exercie
    Merci

  26. #25
    Dlzlogic

    Re : Aide matlab

    Je crois qu'on perd notre temps.
    Je suppose que vous attendez que je vous écrive le code voulu, il ne faut pas compter sur moi pour ça.
    Donc, prenez votre cours, faites les exercices qui y sont proposez et revenez si vous avez des questions.

  27. #26
    invitecd18378c

    Re : Aide matlab

    Merci
    j'ai trouvé un lien sur le cous d'alg.
    http://perso.limsi.fr/Individu/cecil...ursAlgo_V1.pdf
    j vais regarder

  28. #27
    leon1789

    Re : Aide matlab

    Je conseille de ne pas prêter attention...

    Citation Envoyé par frjulien Voir le message
    Pur cela, posons a=0, b=75, on divise l'interval [a,b] en N sous-intervals de longeur petit, longeur de chaque sous-interval egal à h=b-a/N.

    Notons x_k=a+k*h, ce sont les noeuds dans cet interval [a,b], k=0 jusqu'à N

    la fomule de trapeze devient : f(T)= h ((g( a)+g(b))/2 + somme g(x_k), x=2, N-1)

    on obtient alors une fonction simple f(T), qu'on peut tracer en fonction de T.

    tracer ( T, f(T)) pour T=1 jusqu'à 100.
    Ok, votre algorithme est bien précisé (mise à part N non précisé et qu'il faut choisir arbitrairement grand)
    et on peut très facilement l'écrire dans un langage adapté (que certains reconnaîtrons) :

    Code:
    g := (X,T) -> X^3 * exp(T*X)/(exp(T*X)-1)^2 ;
    a := 0 ; b := 75 ;
    N := 1000 ;
    h := (b-a)/N ;
    for k from 1 to n do x[k] := a+k*h end do ;
    f(T) := h*(g(a, T)+g(b, T))/2 + add( g(x[k]), k=2..N-1) ;
    plot(f(T), T=0..100) ;
    Le seul souci est mathématique, car votre fonction g n'est pas définie pour x=0, donc il faut la prolonger par continuité g(0, T) = 0 avec T>0.
    Dernière modification par leon1789 ; 26/03/2013 à 16h25.

  29. #28
    Dlzlogic

    Re : Aide matlab

    C'est pas un cours, c'est un support de cours, c'est à dire, soit des transparents projetés pendant le cours, soit un aide-mémoire distribué avant le cours pour que les élèves sachent à tout moment où on en est.
    Ceci dit, ça me parait bien fait.

  30. #29
    invitecd18378c

    Re : Aide matlab

    Bj
    Merci beauco pou vos remaques.

    J'ai fait deux codes.

    Le premier:

    %%construire l'integrand avec son prolongement
    function y=fcv(w,T)
    y = zeros(size(w));
    y(w>0)= w(w>0).^3.*exp(w(w>0).*T))./(exp(w(w>0).*T))-1).^2;
    y(1)=0; %%%pour x=0, la fontion vaut 0

    %% comme vous remarqez, on a prolongé la fonction par 0 pour x=0

    %%%

    puis Main Program

    a=0;
    b =75;
    N=100;
    h=(b-a)/N;

    x=a:h:b;
    T=1:100;
    y=zeros(length(T), N+1)
    Q=zeros(size(T));
    for i=1:length(T)
    y(i,=fcv(x,T(i));
    Q(i)=h*((y(i,1)+y(i,N))/2 +sum(y(i,2:N+1)));
    end

    then
    %%
    plot(T,Q);

    %% second Methode
    %%% Quad prédifi dans Matlab

    Q=zeros(size(T));
    for k=1:length(T)
    Q(k)=quad(@(x)fcv(x,T(k)),a,b) ;
    end

    puis
    plot(T,Q)

    Avec plaisir, je lirai vos remarques.

  31. #30
    leon1789

    Re : Aide matlab

    Citation Envoyé par leon1789 Voir le message
    Je conseille de ne pas prêter attention...

    Ok, votre algorithme est bien précisé (mis à part N non précisé et qu'il faut choisir arbitrairement grand)
    et on peut très facilement l'écrire dans un langage adapté (que certains reconnaîtrons) :

    Code:
    g := (X,T) -> X^3 * exp(T*X)/(exp(T*X)-1)^2 ;
    a := 0 ; b := 75 ;
    N := 1000 ;
    h := (b-a)/N ;
    for k from 1 to N do x[k] := a+k*h end do ;
    f(T) := h*(g(a, T)+g(b, T))/2 + add( g(x[k]), k=2..N-1) ;
    plot(f(T), T=0..100) ;
    Le seul souci est mathématique, car votre fonction g n'est pas définie pour x=0, donc il faut la prolonger par continuité g(0, T) = 0 avec T>0.
    Êtes-vous d'accord, frjulien ?

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Aide en MATLAB
    Par invite047116f9 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 29/05/2012, 23h57
  2. Aide en Matlab
    Par invitec32a9991 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 25/04/2012, 12h10
  3. Aide matlab
    Par invite84413e1e dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 12/07/2011, 02h02
  4. Aide Matlab
    Par invite085425ee dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 21/06/2010, 11h36
  5. Aide Matlab
    Par invite749436b6 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/04/2010, 16h35