[Matlab] Algorithme de Newton

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
foujeu

[Matlab] Algorithme de Newton

Message non lu par foujeu »

bonjour. j'ai beaucoup de problème avec matlab puisque c'est la première fois que je l'utilise. voici l'énoncé du petit exercice que je sais pas comment implémenter dans matlab.

soit la fonction [r,k]=newton(f,df,x0,eps,nmax) qui calcule une valeur approchée de f avec

paramètres d'entrée:
f
df:derivee de f
x0:valeur initiale
eps:la precision
nmax:nombre max d'iterations

parametres de sortie:
r:derniere itéree
k:nombre d'iterations

j'ai pas compris comment calculer la dérivée, comment mettre x en fonction de i pour la boucle while (Xi=Xi-1+f/df).
est ce que quelqu'un peut me donner une solution qui fonctionne car c'est urgent.
merci.

[edit guiguiche : déplacé dans le forum logiciels]
[edit guiguiche 2 : inutile de poster deux fois]
MB
Administrateur
Administrateur
Messages : 7729
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Matlab] Algorithme de Newton

Message non lu par MB »

foujeu a écrit :j'ai pas compris comment calculer la dérivée
Tu n'as pas à la calculer puisque c'est un paramètre d'entrée.
foujeu a écrit :comment mettre x en fonction de i pour la boucle while (Xi=Xi-1+f/df).

J'ai pas bien compris la question mais je vais y répondre quand même. :P
Si tu veux calculer $X_i$ (que tu stockes dans une variable $X$ par exemple), tu fais donc une boucle sur $i$ (for ou while), et à chaque itération tu mets à jour ta variable $X$ en utilisant la formule.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
nirosis
Administrateur
Administrateur
Messages : 1803
Inscription : samedi 28 mai 2005, 14:48
Localisation : Orsay, France

Message non lu par nirosis »

C'est l'algorithme qui pose problème ou la syntaxe matlab ?

Le X est un vecteur de taille nmax. Tu peux l'initialiser à zéro
Apres tu mets: X(i+1)=X(i)-1+f(X(i))/df(X(i)) dans une boucle for sur i, comme le dit MB.

ps: f est donnée sous forme formelle ou numérique au départ?