Bonjour,
J'ai une fonction main4 qui appelle la fonction descente1 dans le but de coder la méthode des descentes. Problème: le résultat est NaN...
J'ai l'impression que le code ne rentre pas dans la fonction descente1...
Pourriez-vous m'indiquez pourquoi svp?
Ci-dessous le code de main4:
et celui de descente1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 clear all % efface tout en mémoire close all %ferme fenêtres graphiques clc %efface console format long tstart = tic; %start du temps x0=[2.2;2.2]; eps=1e-6; [X,nb,XX]=descente1(x0,eps) plot(XX(1,:),XX(2,:), 'o-') telapsed = toc(tstart) %stop du temps
Merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function [X,nb,XX]=descente1(X0,eps) %méthode de Newton X=X0; XT=X0; XX=[X]; nb=0; err=1; maxiter = 200 %choix du pas alpha=0.1 while (err>eps && nb<maxiter) %direction de descente -gradient d=-df(X); %calcul de x(k+1) X=X+alpha*d; %calcul de l'erreur err=norm(X-XT); %iteration XT=X; %compte nb iteration nb=nb+1; %complète la matrice XX=[XX,X]; end
Partager