Inscription / Connexion Nouveau Sujet
Niveau LicenceMaths 2e/3e a
Partager :

Méthode de la sécante MATLAB

Posté par
niaa571
11-11-20 à 21:12

Bonjour, je suis bloquée sur un exercice où je dois trouver des erreurs dans un code MATLAB. Voici l'énoncé :

Toto souhaite améliorer la précision de son estimation de ^x (x chapeau zéro de la fonction) en utilisant la méthode de la sécante. Il utilise a (=-5) et b (=5) pour initialiser la méthode, et il boucle tant que l'erreur résiduelle est plus grande que 10^-12, le tout avec une borne sur le nombre d'itérations. Il note x1 la dernière approximation calculée, et x0, l'avant-dernière. Voici son programme : (la fonction est : f(x)=1+x+sin(x).


x0=a;
x1=b;
tol2=10^-12;
n=0;
nmax=20;
while(abs(f(x1))>tol2 | n<nmax
          x1old=x1;
          x1=x0-f(x1)*(x1-0)/(f(x1)-f(x0));
          x0=x1;
          n=n+1;
end

x1
f(x1)
n

Ce programme comporte (minimum) 3 erreurs.


Le but de cet exercice est de corriger le programme en corrigeant le moins de choses possible.

J'ai pensé qu'il faut initialiser le programme en écrivant à quoi correspond f (écrire sa formule dans le code).Et je pense que la formule n'est pas correcte mais je ne parviens pas à la corriger. Je n'ai pas vraiment d'autres pistes en tête malgré le fait que je sache que l'algorithme ne rend rien...

Posté par
Zormuche
re : Méthode de la sécante MATLAB 11-11-20 à 22:06

Bonsoir

La boucle doit s'arrêter si  |f(x)|\le tol2 , ou si n dépasse nmax
donc la boucle doit continuer si ... ? (proposition contraire)

Posté par
niaa571
re : Méthode de la sécante MATLAB 11-11-20 à 22:41

La boucle doit donc continuer si |f(x)|>tol2 et si n<nmax
Je dois donc remplacer le « ou » par le « et », merci beaucoup

Posté par
Zormuche
re : Méthode de la sécante MATLAB 12-11-20 à 11:45

j'ai très peu regardé ton code, mais j'attire ton attention sur le fait que la variable x1old est initialisée mais jamais utilisée, il y a sûrement une erreur à chercher par là

Posté par
niaa571
re : Méthode de la sécante MATLAB 12-11-20 à 11:51

D'accord merci je vais me pencher là dessus



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 1719 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 !