Calcul intégral matlab
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Calcul intégral matlab



  1. #1
    invite72483f78

    Calcul intégral matlab


    ------

    Bonjour à tous

    Je dois réaliser un programme sur matlab (ou autre logiciel) afin de calculer cette intégrale :

    f(x) = In(x) = intégrale de 0à1 (cos[nt-xsin(t)]dt pour n=0,1,2,3
    J'ai commencé par n=0

    Néanmoins, ayant compris la leçon sur la quadrature, mais n'ayant jamais programmé sur matlab pour calculer des intégrales, je ne vois pas la la démarche à suivre.
    Pourriez-vous m'aider ?
    D'autant plus que je ne sais pas comment faire passer le x pour une constante dans Matlab.
    (par exemple, pour calculer intégrale de cos(x)dx, je sais qu'en mettant "quad('cos',0,1,1e-20)" le calcul marche.
    Or en mettant "quad(cos(xsin)),0,1,1e-20) cela ne marche pas)

    Merci d'avance pour vos informations !

    -----

  2. #2
    deyni

    Re : Calcul intégral matlab

    Bonjour,

    pour le coup du x il faut faire:

    x = [debut;pas;fin]
    f = cos(x). Ne pas faire f(x) = cos(x)
    Deynid'oiseaux partout !! :rire:

  3. #3
    deyni

    Re : Calcul intégral matlab

    Quelque chose comme:

    Code:
    function (t) = integrale(n,t)
    
    x = [-10;0.1;10]
    f = cos(n*t-x*sin(t))
    g = quad(f, 0, 1)
    Il faut enregistrer sous le nom: integrale.m
    Deynid'oiseaux partout !! :rire:

  4. #4
    invite72483f78

    Re : Calcul intégral matlab

    Mais pourquoi choisir ces bornes : -10/10 ?
    De plus, il faut que je définisse quelque chose avant d'écrire ceci dans matlab, non ?
    Car quand je rentre directement x=[-10;0,1;10] cela ne marche pas.
    Je sais que dans Matlab il fallait d'avance créer une fonction à part, comme par exemple :

    function I=Simpson(g,n,a,b)
    h=(b-a)/n;
    x=a:h:b;
    I=0;
    for j=1:n
    I=I+4*feval(g,x(i)+x(i+D)/2)+feval(g,x(i))+feval(g,x(i+1 ))/6;
    end
    end

    Pour mon exercice, où se joue la différence ?

    ( J'utilise octave, car on m'a dit qu'il avait un fonctionnement similaire à celui de matlab tout en proposant un libre accès)

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

    Re : Calcul intégral matlab

    Bonjour,

    Excusez moi, j'ai fait une erreur, c'est:
    x =[-10:0.1:10];

    Matlab c'est un logiciel de calcul numérique. Il n'aime pas les variables balancés sans nombre.
    J'ai choisi -10/10 comme ça. On aurai pu prendre -5/5....
    Deynid'oiseaux partout !! :rire:

  7. #6
    deyni

    Re : Calcul intégral matlab

    Code:
    clc; % On nettoie
    clear; % là aussi
    a=0;b=1; % Bornes
    
    n=1;
     for k=1:4
          h=(b-a)/n; % Comme tu as fait.
          i=1:n+1; %l'iteration
          t=a+(i-1)*h;
          f=cos[nt-xsin(t)];
          I=h/3*(f(1)+4*sum(f(2:2:n))+f(n+1));
           if n>2
              I=I+h/3*2*sum(f(3:2:n));
            end
    end
    J'ai fait une erreur, car ta variable c'est t et non x comme je le pensais.
    Non, il y a encore un problème. J'ai pas le "x"...
    Et je ne comprends pas ton énoncé:
    f(x) = In(x) = intégrale de 0à1 (cos[nt-xsin(t)]dt
    Dernière modification par deyni ; 19/04/2012 à 16h35.
    Deynid'oiseaux partout !! :rire:

  8. #7
    invite72483f78

    Re : Calcul intégral matlab

    Oh, merci d'avoir écrit un programme complet.

    Néanmoins, j'aimerais réellement comprendre la démarche que vous avez utilisée.
    Notamment pourquoi est-ce que dans votre formule vous avez utilisé k de 1 à 4 ?
    Dans ce cas, vous ne fixez pas x ? On peut se permettre de laisser le x dans la formule de f sans problème ? On ne pose plus x=[-10:0.1:10]?
    Et peut-on afficher la valeur de I finale ?

    Merci beaucoup.

  9. #8
    invite72483f78

    Re : Calcul intégral matlab

    Oui, moi aussi j'ai du mal à comprendre le rôle joué par le x
    Je suppose qu'on doit trouver une intégrale en fonction de x ?

    C'est pour cela que je viens ici car je n'ai jamais fait de problèmes similaires. On n'utilisait qu'une variable.
    Les deux vraies questions du problème sont les suivantes. Mais ne comprenant déjà pas comment écrire le programme, je ne pouvais pas aboutir à quelconque graphe

    1)Tracer le graphe de f sur [0,15]
    2) trouver un zero de chaque f appartenant à ]0,15]

  10. #9
    deyni

    Re : Calcul intégral matlab

    De rien

    Mais ce programme manque certaines chose:
    -Definition du x ou t, du fait que je ne sais pas quelle est la variable
    -J'ai oublié d'inclure le cas où n = 0. Il aurai fallu faire: if n =0{....} else{suite}

    Je pense qu'il y a une erreur dans l'énoncé:
    f(x) = intégrale de 0à1 (cos[nt-xsin(t)])dt

    Car l'intégrale d'un fonction f, défini et continue sur un intervalle, J s'écrit:

    et non:
    Dernière modification par deyni ; 19/04/2012 à 17h13.
    Deynid'oiseaux partout !! :rire:

  11. #10
    deyni

    Re : Calcul intégral matlab

    En tout cas, ce n'est pas une fonction de 2 variable, mais plutôt une intégrale paramétrée.

    Pour tracer f, tu fais des plots, avec "hold on" affin de supperposer les courbes.
    Mets des couleurs pour les différencier.
    Je crois qu'il y a la fonction "zeros" dans matlab.

    Petit truc:
    Lorsque tu finni une commande dans le programme avec ; il n'affiche rien sur la console.
    Sans point virgule, il affiche.
    Par exemple:
    x = [1,2,3,4,5]
    Il affiche 1 2 3 4 5
    Dans ce cas
    x = [1,2,3,4,5];
    Il affiche rien
    Deynid'oiseaux partout !! :rire:

  12. #11
    invite72483f78

    Re : Calcul intégral matlab

    D'accord.

    Donc malgré tout j' intègre suivant "t" ?
    Car si c'est selon x, cela change tout le programme écrit précédemment et alors, d'après ce que vous aviez pu poster en premier lieu, cela parait compliqué par rapport à ce que nous avons pu voir en cours.

    De plus, pour n=0, je ne vois pas pourquoi on ne pourrai pas faire comme les autres ?
    A cause de h=(b-a)/n impossible ? Mais pourtant nous pouvons calculer l'intégrale de cos[-xsin(t)])dt.

    D'accord, donc j'en déduis que pour afficher I il suffit d'écrire la formule sans mettre de ;

    Merci beaucoup, je suis une novice dans cette matière numérique

  13. #12
    deyni

    Re : Calcul intégral matlab

    Bonjour,

    Si c'est suivant t, tu ne changes rien au programme. Il faut juste que tu rentre x, en paramètre.
    Genre le function() = .....(...x)

    il y a effectivement un problème pour le h, si n =0. C'est pourquoi il est à part.
    Bonne déduction pour le I. ^^

    Citation Envoyé par Jeune123 Voir le message
    Merci beaucoup, je suis une novice dans cette matière numérique
    Auncun problème. Et tu es un jeune comme ton pseudo le dit.
    Deynid'oiseaux partout !! :rire:

  14. #13
    invite72483f78

    Re : Calcul intégral matlab

    Effectivement, le programme suivant t me parait le plus adapté.
    Et il est vrai que j'ai beaucoup de questions

    Néanmoins, je n'ai jamais appris à faire en posant un paramètre.
    Ceci correspond à faire x=[-10:0,1:10] ?
    Et faut-il que je l'inclues dans le programme complet (par exemple avant I=...) ou alors avec tous les autres paramètres externes au "programme" (i.e après a=0;b=1...) ?

  15. #14
    deyni

    Re : Calcul intégral matlab

    Tout dépend si tu as la fonction de simpson.

    Le coup du x, finalement, tu ne le définis pas en -10/10, car c'est un paramètre de fonction.
    En gros, sur la console, tu devra écrire:
    intégrale(x), avec le x que tu voudra.

    Et le programme coulera tout seul. Car il aura tout(le x qu tu lui donnes en entré(vocabulaire de prof), le t défini, f, définit, n aussi variant))

    Il reste juste à inclure dans le programme le csa où n = 0;

    Tu laisses le programme comme avant, mais tu rajoute juste x dans la fonction.
    function() = Ton_nom(x)

    Je pense juste que tu devras faire, un truc du genre length(t), ou v =[-10:0.1:10] pour l'affichage( plot(f,v), je ne sais plus la syntaxe exacte)
    Deynid'oiseaux partout !! :rire:

Discussions similaires

  1. Calcul intégral TS
    Par invite4642fb97 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 22/02/2012, 18h47
  2. Calcul intégral
    Par invitecc6d6d94 dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 25/05/2009, 17h21
  3. Calcul intégral
    Par invite93845cf6 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 03/05/2009, 15h49
  4. Calcul integral
    Par mehdi_128 dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 29/12/2007, 12h45
  5. Calcul intégral
    Par mehdi_128 dans le forum Mathématiques du supérieur
    Réponses: 23
    Dernier message: 28/12/2007, 15h36