Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Un programme descente avec Xcas

Posté par
hugoad
10-05-13 à 17:27

Bonjour, j'ai un DM de maths à faire pour lundi sur Xcas et c'est le premier que notre prof nous donne, du coup j'ai du mal à le réaliser . Alors voici déjà l'algorithme:
saisir (X0);saisir (X1)
f(x)=x^4-3x^3+2x^2-5x+4; g=fonction_derivee(f)
eps:=10-9
si x0<x1 alors c:x1; x1:=x0; x0:=c; fsi;
tantque max(abs(g(x0)),abs(g(x1))>eps et g(x0)<=0 et g(x1)>=0 faire
  si -g(x0)>=g(x1)alors xm:=x0+(1/4)*(x1-x0);sinon xm:=x1-1/4*(x1-x0);fsi;
  si g(xm)>0 alors x1:=xm sinon x0:=xm;fsi;
ftant que;
si max (abs(g(x0)),abs(g(x1)))<=eps alors afficher(evalf((x0+x1)/2);fsi:;

et maintenant les questions
1) donnez l'expression de f
2) exécutez ce programme pour x0=1 et x1=3
que peut représenter pour f le nombre retourné par le programme?
3)que fait le programme a la 4e ligne?
4)comprendre et tester ce programme a la main
a)pour x0=1 etx1=3 effectuez deux passages dans le tant que
b) quelles conditions vérifie on a la 5e ligne? comment doit on choisir x0 et x1 pour que le programme fonctionne?
5)que retourne le programme,

Bon pour le 1) j'ai f(x)=x^4-3x^3+2x^2-5x+4
j'ai aussi trouver le 3 et je ne comprend pas et n'arrive pas aux autres questions.
  Merci de m'aider

Posté par
alb12
re : Un programme descente avec Xcas 10-05-13 à 18:47

salut, pour un début c'est un peu difficile

Tape ces quelques commandes sur 5 lignes différentes:
f(x):=x^4-3x^3+2x^2-5x+4; // le ; est inutile si tu changes de ligne
f'(x);
fsolve(f'(x));
graphe(f(x));
graphe(f'(x));

Transformons ton programme en fonction,
tout élève de seconde sait ce qu'est une fonction après tout.

DeriveeNulle(x0,x1):={
  local f,g,eps,c,xm;
  c:=0;
  f(x):=x^4-3x^3+2x^2-5x+4; g:=fonction_derivee(f);
  eps:=10^-9;
  si x0>x1 alors
    c:x1; x1:=x0; x0:=c; // echanger x0 et x1
  fsi;
  tantque max(abs(g(x0)),abs(g(x1)))>eps et g(x0)<=0 et g(x1)>=0 faire
    si g(x0)>=g(x1)alors
      xm:=x0+(1/4)*(x1-x0);
    sinon
      xm:=x1-1/4*(x1-x0);
    fsi;
    si g(xm)>0 alors
      x1:=xm
    sinon x0:=xm;
    fsi;
  ftantque;
  si max(abs(g(x0)),abs(g(x1)))<=eps alors
    retourne(evalf((x0+x1)/2))1;
  fsi;
}:;

Ensuite tu colles ce texte dans la ligne obtenue avec Prg->Nouveau programme.
Tu compiles avec le bouton OK en vert.

Tu tapes DeriveeNulle(3,1) ou bien DeriveeNulle(1,3) et tu valides.
Compare le résultat avec la commande fsolve(f'(x)) dont j'ai parlé au début.

Posté par
alb12
re : Un programme descente avec Xcas 10-05-13 à 19:05

Attention faire 2 corrections:
ligne7 c:=x1
ligne21 retourne(evalf((x0+x1)/2));

Posté par
hugoad
re : Un programme descente avec Xcas 10-05-13 à 19:21

d'accord merci c'est cool je regarde ça et je vous redemande après si j'ai encore des problèmes

Posté par
Rachelou
re : Un programme descente avec Xcas 12-05-13 à 18:37

Coucou, j'ai le même Dm à faire, et j'ai besoin d'aide.
Je ne veux pas les réponses, mais plutôt qu'on m'explique les questions en commençant par la 3,(si c'est possible) car j'avoue que je n'ai pas vraiment compris ce qu'il fallait faire.. :/

Posté par
alb12
re : Un programme descente avec Xcas 12-05-13 à 21:36

As-tu lu le programme ? Extrait:
si x0>x1 alors
    c:x1; x1:=x0; x0:=c; // echanger x0 et x1
fsi;
Ne vois-tu pas le but de ce test ?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1768 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !