Besoin d'aide en MATLAB
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 36

Besoin d'aide en MATLAB



  1. #1
    invitefb40011d

    Besoin d'aide en MATLAB


    ------

    Bonjour,
    Un petit exercice sur MATLAB mais je ne sais pas du tout comment faire... si quelqu'un peut m'aider...
    Merci d'avance :

    EXO : Ecrire une boucle MATLAB permettant de calculer de ma manière approché la valeur de l'intégrale de "a" à "b":

    I = Intégrale de a à b de "f(x)dx"

    par la méthode de Simpson. f est ici une fonction donnée (déjà programmée dans un fichier f.m).



    -----
    Images attachées Images attachées  

  2. #2
    Coincoin

    Re : Besoin d'aide en MATLAB

    Salut,
    Tu connais la méthode de Simpson ?
    Encore une victoire de Canard !

  3. #3
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    oui, je la connais, mais je ne sais pas écrire la boucle en matlab : formule en pièce jointe...

    Nom : Sans titre.bmp
Affichages : 1362
Taille : 54,9 Ko

  4. #4
    Coincoin

    Re : Besoin d'aide en MATLAB

    Quel est le problème ?
    Encore une victoire de Canard !

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

    Re : Besoin d'aide en MATLAB

    Le problème c'est que je ne sais pas écrire

    la boucle MATLAB permettant de calculer de ma manière approché de I par la méthode de Simpson

    Mes bases en informatique et en Matlab sont assez restreintes on va dire... donc je ne sais pas vraiment écrire cette boucle dans MATLAB...

  7. #6
    azt

    Re : Besoin d'aide en MATLAB

    Bonsoir,
    Avant de coder sous Matlab, il te faut d'abord écrire l'algorithme.
    Prends ta fonction f et essaie de calculer son intégrale à la main en utilisant l'algorithme de Simpson, tu comprendras mieux son fonctionnement.
    Regardes :
    - les variables que tu dois fixer avant d'entrer dans la boucle
    - Quelle est la variable qui va s'incrémenter dans la boucle et le traitement qui va avec,
    - Le traitement à faire pour terminer le calcul.

    En attendant de te lire
    AZT
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  8. #7
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    ok, j'ai essayé, je comprend comment ça marche, a et b seront fixés et n changera dans la boucle, mais après pour le traitement en lui-même, je ne sais vraiment pas comment faire... Je ne sais pas écrire cette boucle, vraiment...

  9. #8
    azt

    Re : Besoin d'aide en MATLAB

    n ne change pas, il est fixé au départ. Plus n sera grand, plus l'intégrale sera précise.
    Qu'est ce qui varie alors ?
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  10. #9
    invited877b256

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par gregoory
    ok, j'ai essayé, je comprend comment ça marche, a et b seront fixés et n changera dans la boucle, mais après pour le traitement en lui-même, je ne sais vraiment pas comment faire... Je ne sais pas écrire cette boucle, vraiment...
    au risque de n'avoir pas compris ton problème, je dirais qu'en gros, ce que tu veux dire, c'est que tu ne sais pas programmer. Pardon le cas non échéant.

    au plus simple,
    plusieurs itération c a d une boucle, c'est

    variables = valeurs de début ;
    for i=debut:fin,
    .. ;
    .. ;
    end;

    un début, ça peut être 1 et une fin (2^n+1)/3.

    une sommation,
    c'est en général, en 2 temps, créer une variable tampon pour stocker le calcul effectué, puis la modifier à l'itération suivante en y additionnant le calcul présentement fait, constituant la nouvelle variable tampon pour la prochaine itération...

    des coefficients qui changent de manière foireuse, c'est remarquer qu'ils sont appariés motif de 3, qu'on peut en calculer trois par itération.

    se ramener à l'abscisse xi à partir d'un nombre entier i, c'est faire i fois un pas depuis le debut, sachant qu'un pas c'est (b-a)/n et que le début c'est a. (règle de 3)

    le résultat c'est la variable tampon en fin de boucle agrémentée de ce qui n'est pas calculé dans la boucle.

    taper: help for

  11. #10
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    Merci de votre aide, mais, au risque de passer vraiment pour un mauvais, tout ça est encore assez flou pour moi...
    n est fixé pour la précision de l'intégrale, ok.
    les bornes de l'intervalle aussi, non ?

  12. #11
    invitebf65f07b

    Re : Besoin d'aide en MATLAB

    bon peut-être q'un exemple sommaire de sommation pourrait te fixer les idées...

    comment calculer avec une boucle la somme des entiers de 1 à n?

    "S" va être "rempli" progressivement pour valoir au final la somme voulue.

    ça donnerait :
    S=0;
    for i=1:n
    S=S+i;
    end
    est-ce que tu vois le rapport avec ta somme? est-ce que tu vois ce qui "varie"?

  13. #12
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    oui je vois bien comment ça marche sur un petit exemple, mais ce que je ne sais pas faire, c'est introduire toute la formule de Simpson la-dedans...

  14. #13
    azt

    Re : Besoin d'aide en MATLAB

    Dans la formule de Simpson, quelle est la partie que tu répétes ?
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  15. #14
    invitebf65f07b

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par gregoory
    oui je vois bien comment ça marche sur un petit exemple, mais ce que je ne sais pas faire, c'est introduire toute la formule de Simpson la-dedans...
    bon, alors un tout petit plus compliqué...
    S est la somme de i allant de 1 à n des g(i) avec g une fonction donnée par ailleurs :
    S=0;
    for i=1:n
    temp=g(i);
    S=S+temp;
    end
    tu as là LA structure de base d'une sommation par itération, maintenant que ce soit pour ton intégrale de Simpson ou pour tout autre chose, tu n'as qu'à identifier les différents éléments et voilà.

    je crois pas qu'on puisse t'aider beaucoup plus sans te donner le programme...

  16. #15
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    n=4 (par exemple)
    S=0;
    for i=1:n
    T= f (i);
    S=S+T;
    i=1+i
    end
    Ca serait quelque chose de ce style ? Mais il manque quelques choses je pense....

  17. #16
    azt

    Re : Besoin d'aide en MATLAB

    Dans la formule de la méthode de Simpson,
    il n'est pas écrit mais ,,...
    Comment dois-tu faire pour passer de l'un à l'autre ?
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  18. #17
    invited877b256

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par manup
    un début, ça peut être 1 et une fin (2^n+1)/3.

    des coefficients qui changent de manière foireuse, c'est remarquer qu'ils sont appariés motif de 3, qu'on peut en calculer trois par itération.

    se ramener à l'abscisse xi à partir d'un nombre entier i, c'est faire i fois un pas depuis le debut, sachant qu'un pas c'est (b-a)/n et que le début c'est a. (règle de 3)
    je sais qjsui pas le meilleur des pédagogue mais qd même !

  19. #18
    invitebf65f07b

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par gregoory
    Ca serait quelque chose de ce style ? Mais il manque quelques choses je pense....
    non c'est pas ça.

    tu peux quand même faire l'effort d'écrire ta formule avec le symbole sigma pour faire apparaître ce fameux "i"...

    [edit]manup, te fatigue pas trop, je crois qu'il faut d'abord convaincre gregoory de réfléchir un peu...[/edit]

  20. #19
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    D'abord, je vous remercie de m'aider, et je suis désolé, mais comme je suis assez mauvais en info et en maths, c'est pas facile pour moi.

    Ensuite, cet exercice n'est pas à faire, c'est en fait, l'annale de l'interro de l'année précédente. Or, j'aimerais comprendre vu que cette année, j'aurais le meme type d'exo pour mon exam, donc mon but est bien de comprendre et non d'avoir juste la solution.

    Je réessaye, dite moi a quel endroit ma boucle n'est pas bonne, dite moi ce qui va et ce qui va pas... merci d'avance...

    n=valeur fixée (précision de I)
    a= valeur fixée
    b=valeur fixée (intervalle [a,b])

    FOR i=0:n
    h=(b-a)/(6n);
    I=h*(f(0) + f(1) + sum(f(2:2:n)) + f(n+1))
    I=I+h*2sum(f(3:2:n));
    end;
    En regroupant toutes vos infos, je commence à comprendre un peu, par exemple sur le fait des sommes des pairs (2:2:n) et des impairs (3:2:n) mais après je ne suis pas sûr de tout mon programme...

  21. #20
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    Mon programme est-il juste ?


  22. #21
    azt

    Re : Besoin d'aide en MATLAB

    Ce que tu écris ce sont des formules utilisant f(i) et non f(xi)
    Comment calcules-tu x0, x1,x2,...,x2n-1 ?

    Indice : il faut tout utiliser dans l'encadré que tu donnes de la méthode de simpson, rien n'est inutile.
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  23. #22
    invitefb40011d

    Unhappy Re : Besoin d'aide en MATLAB

    C'est avec ça ?

    xi+1-xi=(b-a)/(2n-1) pour i=0, 1, 2...2n-1

    il faut que je remplace mon h avec ça ?
    Comment l'écrire dans la boucle ?


  24. #23
    azt

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par gregoory
    C'est avec ça ?

    xi+1-xi=(b-a)/(2n-1) pour i=0, 1, 2...2n-1

    il faut que je remplace mon h avec ça ?
    Comment l'écrire dans la boucle ?
    Avec ça, comment calcules tu x0,x1... en fonction de i
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  25. #24
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    Pour i=0 :

    x1+0-x0=(b-a)/(2n-1)

    donc

  26. #25
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    donc

    x1=x1+(b-a)/(2n-1)

    et en généralisant...

    xi= xi-1+(b-a)/(2n-1)

    Mais on peut écrire ça dans matlab ?

  27. #26
    azt

    Re : Besoin d'aide en MATLAB

    Que vaut x0 ?
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  28. #27
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    x0= (b-a)/(2n-1) ?

  29. #28
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    c'est bien ça pour x0 ?...

  30. #29
    invitebf65f07b

    Re : Besoin d'aide en MATLAB

    Citation Envoyé par gregoory
    x0= (b-a)/(2n-1) ?

    c'est bien ça pour x0 ?...
    tu intègres non? selon quelles bornes? que représentent les xi?

    si tu ne donnes pas de sens aux symboles que tu écris, tu risques de chercher longtemps.

  31. #30
    invitefb40011d

    Re : Besoin d'aide en MATLAB

    Bah la je sais plus trop... lol... trop d'éléments... est-ce que quelqu'un peut me donner un corrigé ou au moins un début de corrigé pour cette boucle que je puisse comprendre sur cet exemple, parce que la il me manque "le" truc...
    Merci d'avance...

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. besoin d'aide pour matlab
    Par invite1db4a306 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 07/11/2007, 13h05
  2. besoin d'aide en matlab
    Par invitea229b824 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 09/01/2007, 09h38
  3. Matlab - besoin d'aide sur la fonction guide
    Par invitecc55914a dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/06/2006, 08h32
  4. grand besoin d'aide sur matlab....
    Par invite714cb747 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 29/11/2004, 13h07