Programme en matlab

Bonsoir,
merci de m'aider à trouver la solution de la question suivante.92960

Réponses

  • À quel niveau te situes-tu ?
    Le programme ne m’a pas l’air bien compliqué.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • Bonsoir,

    Comme d'habitude, qu'as tu fait ? Qu'est ce qui te bloque ?

    Cordialement,

    Rescassol
  • Voici ce que j'ai écrit.
    u(1)=1;
    n=0;
    while err> 1 e-3
        n=n+1;
        u(n)=2*n/(n+1)
        err=0;
    end
    
  • C'est moi, ou bien la question est stupide ?
    La limite de la suite est $\ell=2$.
    Que demande l'énoncé ?
    D'écrire un programme matlab qui retourne une approximation de $\ell=2$ ?! :-D
  • @marsup, la question est d'utiliser matlab pour trouver la limite sans la calculer directement
  • La ligne err=0 ne sert à rien. Es-tu sûre que l’erreur entre le terme de la suite et la limite vaut 0 quand n=1 ?
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • @nicolas.patrois, que dois je écrire alors ?
  • Bonsoir,

    La ligne "while err> 1 e-3" produit une erreur parce que la variable "err" n'est pas définie.

    Cordialement,

    Rescassol
  • Rien : il n'y a rien à écrire ! Ça n'a aucun sens...

    Que signifie l'erreur ? C'est $\epsilon_n = | u_n-\ell | $ ou variante.

    Ici $\ell = 2$. Est-on censé faire semblant de ne pas le voir ?

    Peut-être qu'il s'agit d'un problème de seuil : pour quel $n$ a-t-on pour la première fois $\epsilon_n \le 10^{-3}$ ?

    Mais même ça se fait à la main : pas besoin de boucle, c'est de l'algèbre.
  • @Rescassol, comment faut il la définir ?
  • Bonsoir,

    Donne lui simplement une valeur avant la boucle, qui l'oblige à entrer dans la boucle au moins une fois.

    Cordialement;

    Rescassol

    PS: Je trouve que tu poses vraiment des questions basiques, pour quelqu'un qui parlait il y a 6 mois de la rédaction de sa thèse.
  • u(1) = 1 // pour qui, pour quoi ? pourquoi ne pas le calculer dans la boucle ???
    err = abs( u(1) - 2 )
    n = 1
    while (err>10^-3)
      n = n+1
      u(n) = 2 * n / (n+1)
      err = abs( u(n) - 2 )
    end
    
  • Bonne nuit,

    A priori, on ne connaît pas la limite avant de lancer le programme, donc je préfère quelque chose comme ceci:
    clear all, clc
    
    u=1;
    err=10;
    n=1;
    while err>1e-3
        n=n+1;
        v=2*n/(n+1);
        err=abs(v-u);
        u=v;
    end
    u
    

    Cordialement,

    Rescassol

    PS: Il serait bon de toutes façons que la soeur concernée nous dise à quel niveau elle est.
Connectez-vous ou Inscrivez-vous pour répondre.