Algorithme Maple
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Algorithme Maple



  1. #1
    invite13b423f5

    Question Algorithme Maple


    ------

    Bonjour je ne sais pas si vous vous y connaissez en Mapple mais je recherche a ecrire un algorithme.Pourriez vous m'aider ?

    Voila l'ennoncé :

    Soit 2 réels a et b tels que 0<b<a
    Soit (Un) et (Vn) les suites definies par U(0)=a et V(0)=b et : Pour tout n entier,U(n+1)=(Un+Vn)/2 et V(n+1)=Racine(UnVn).
    (Indication les suites sont adjacentes de limite commune M donc on a pour tout n , V(n)<M<U(n) )

    Question : Ecrire un algorithme qui prend en entrées a,b et un réel E>0 et qui retourne en encadrement de M d'amplitude <egal à E et une appromximation de M à E/2 près.

    Merci de m'aider, c'est très interessant...

    -----

  2. #2
    cedbont

    Re : Algorithme Maple

    Bonjour,
    teste ça :

    z:=proc(a,b,E)
    local u,v,w,x;
    u:=a;
    v:=b;
    whileE<=evalf(abs(u - v)) do
    w:=1/2*u+1/2*v;
    x:=sqrt(u*v);
    u:=w;
    v:=x
    end do;
    print(u,v,1/2*u+1/2*v);
    end proc

  3. #3
    invite13b423f5

    Re : Algorithme Maple

    Il me donne erreur de syntaxe et me renvoie pas l'encadrement...Peut etre faudrait il utiliser les boucles "pour" et "tant que" nan ?

  4. #4
    cedbont

    Re : Algorithme Maple

    En fait, j'ai fait un copier coller du programme rerédigé par Maple, mais qui marche.
    Peut-être que tu ne dois pas écrire la ligne local...
    J'ai utilisé un tant que (while...), mais il fallait écrire "while E <= evalf..." et non "whileE <= evalf..."
    Mets aussi un " ; " à la fin des lignes v:=x et end proc.
    Sinon dis-nous le message d'erreur renvoyé par Maple.

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

    Re : Algorithme Maple

    Tu pourrai me refaire un copier collé du message final stp que je le reteste ?

  7. #6
    cedbont

    Re : Algorithme Maple

    Voici le copier coller de ce que j'ai tapé :
    > z:=proc(a,b,E);

    > u:=a;

    > v:=b;

    > while E <= evalf(abs(u-v)) do

    > w:=(u+v)/2;

    > x:=sqrt(u*v);

    > u:=w;

    > v:=x;

    > od;

    > print(u,v,(u+v)/2);

    > end;

  8. #7
    cedbont

    Re : Algorithme Maple

    Voici le copier coller de ce que me dit Maple :
    Warning, `u` is implicitly declared local to procedure `z`

    Warning, `v` is implicitly declared local to procedure `z`

    Warning, `w` is implicitly declared local to procedure `z`

    Warning, `x` is implicitly declared local to procedure `z`

    z:=proc(a,b,E) localu,v,w,x; u:=a; v:=b; whileE<=evalf(abs(u - v))do w:=1/2*u+1/2*v; x:=sqrt(u*v); u:=w; v:=x end do; print(u,v,1/2*u+1/2*v) end proc

  9. #8
    cedbont

    Re : Algorithme Maple

    Et un exemple de résultat :
    > z(57,108,0.5);
    165/4+9*sqrt(19) , 3*sqrt(165)*19^(1/4) , 165/8+9/2*sqrt(19)+3/2*sqrt(165)*19^(1/4)

  10. #9
    invite13b423f5

    Re : Algorithme Maple

    Et il n'y a pas un moyen de corriger la syntaxe ?
    Tu pourrais essayé car je dois faire un algorithme pour le boulot mais je n'ai pas acces a mapple.Je ne l'utilise qu'en cours et c'estassez dur d'y accéder.Merci de m'aider...

  11. #10
    cedbont

    Re : Algorithme Maple

    Qu'as-tu tapé ?
    Ecris-moi le message d'erreur donné par Maple, en entier.

  12. #11
    invite13b423f5

    Re : Algorithme Maple

    J'ai pas mapple c'est un copain qui me la taper car lui il l'a mais on arrive pas a trouvé l'erreur c'est pour ca que je post un message.Aide nous stp

  13. #12
    invite13b423f5

    Re : Algorithme Maple

    On avait taper :

    amplitude:=proc(a,b,U,V)
    local n,k;
    n:=0;
    U[0]=a;
    V[0]=b;
    assume e>0;
    while abs(V[n]-U[n])>e do
    for k from 0 to n do
    V[n+1]=sqrt(U[n].V[n]);
    U[n+1]=U[n]+V[n]/2;
    od;
    od;
    V[n];
    end;

  14. #13
    cedbont

    Re : Algorithme Maple

    En fait, je vois ici une erreur :
    U et V ne doivent pas être dans le proc() et e par contre doit l'être.
    Dernière modification par cedbont ; 25/03/2007 à 18h32.

  15. #14
    invite13b423f5

    Re : Algorithme Maple

    Tu peux ressayer pour nous ?Et nous donner quelque chose qui vaille bien marcher ?

  16. #15
    cedbont

    Re : Algorithme Maple

    Aussi, tu n'as pas besoin de ton Pour parce que Maple ne connaît pas de lui-même la valeur de n.
    Tu n'as pas non plus besoin de assume ... car tu as (normalement) déjà précisé e.

  17. #16
    cedbont

    Re : Algorithme Maple

    Je te fais une copie de mon écran.
    Demande si tu ne comprends pas ce que j'ai fais.

    Je t'ajoute ce que j'ai écris ligne par ligne.

    z:=proc(a,b,E);
    u:=a;
    v:=b;
    while E <= evalf(abs(u-v)) do
    w:=(u+v)/2;
    x:=sqrt(u*v);
    u:=w;
    v:=x;
    od;
    print(u,v,(u+v)/2);
    end;
    Images attachées Images attachées  

  18. #17
    invite13b423f5

    Re : Algorithme Maple

    Et ca ne t'affiche pas de message d'erreur ?
    Auqeul cas ca doit etre bon nan ?
    C'est ce qu'on voulait ?
    Et quand t'execute, il te sort quoi ?

Discussions similaires

  1. algorithme
    Par inviteb0f7be7e dans le forum Mathématiques du supérieur
    Réponses: 15
    Dernier message: 29/10/2007, 19h06
  2. [Maple]Entiers sur maple
    Par FonKy- dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/08/2007, 18h55
  3. algorithme
    Par invite56f88dc9 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 30/11/2006, 19h14
  4. algorithme
    Par inviteac13aab3 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 25/06/2006, 17h29
  5. Algorithme
    Par invite3c81b085 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 26/02/2006, 19h10