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

Besoin d'aide en MATLAB



  1. #1
    gregoory

    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. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    Coincoin

    Re : Besoin d'aide en MATLAB

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

  5. #3
    gregoory

    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 : 1285
Taille : 54,9 Ko

  6. #4
    Coincoin

    Re : Besoin d'aide en MATLAB

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

  7. A voir en vidéo sur Futura
  8. #5
    gregoory

    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...

  9. #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]

  10. Publicité
  11. #7
    gregoory

    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...

  12. #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]

  13. #9
    manup

    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

  14. #10
    gregoory

    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 ?

  15. #11
    robert et ses amis

    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"?

  16. #12
    gregoory

    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...

  17. Publicité
  18. #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]

  19. #14
    robert et ses amis

    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...

  20. #15
    gregoory

    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....

  21. #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]

  22. #17
    manup

    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 !

  23. #18
    robert et ses amis

    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]
    Dernière modification par robert et ses amis ; 04/06/2006 à 11h50.

  24. Publicité
  25. #19
    gregoory

    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...

  26. #20
    gregoory

    Re : Besoin d'aide en MATLAB

    Mon programme est-il juste ?


  27. #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]

  28. #22
    gregoory

    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 ?


  29. #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]

  30. #24
    gregoory

    Re : Besoin d'aide en MATLAB

    Pour i=0 :

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

    donc

  31. Publicité
  32. #25
    gregoory

    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 ?

  33. #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]

  34. #27
    gregoory

    Re : Besoin d'aide en MATLAB

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

  35. #28
    gregoory

    Re : Besoin d'aide en MATLAB

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

  36. #29
    robert et ses amis

    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.

  37. #30
    gregoory

    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 jerome20048 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 07/11/2007, 14h05
  2. besoin d'aide en matlab
    Par claudiu dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 09/01/2007, 10h38
  3. Matlab - besoin d'aide sur la fonction guide
    Par mamouth38 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/06/2006, 09h32
  4. grand besoin d'aide sur matlab....
    Par sonaluna dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 29/11/2004, 14h07