Bonjour à tous::
je voudrais programmer avec matlab la methode des points fixes; mais j'ai un probleme, le G(x) je n' y arrive pas à la programmer..
y'a t-il une personne qui pourait m'aider svp!!
Version imprimable
Bonjour à tous::
je voudrais programmer avec matlab la methode des points fixes; mais j'ai un probleme, le G(x) je n' y arrive pas à la programmer..
y'a t-il une personne qui pourait m'aider svp!!
Il faudrait commencer par exposer plus clairement et plus en détail ton problème et également nous montrer ce que tu as déjà) programmé (même si c'est faux).
tu dois rédigé un script M-file ( fichier puis New puis M-file)
par exemple on defini la fonction fonc de la maniere suivante
Code:
1
2 function[vars1,vars2,...,varsn]=fonc(vare1,vare2,...,varen) séquence d'instruction
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 function[p,res,iter]=pfixe(x0,phi,eps,nmax) x=x0; phix=phi(x); iter=0; err=1; while(err>eps)&(iter<=nmax) iter=iter+1; err=abs(phix-x); x=phix; phix=phi(x); end p=x; res=phix-x;
phi(x) le corp de la fonction c'est quoi???
Bonjour,
phi(x) est ta fonction g(x).
Dans un premier temps, tu dois créer ta fonction g comme ceci:
Ensuite, pour utiliser la fonction de mustapha_smist:Code:
1
2 fonction y = g(x) y = ...
avec :Code:[p,res,iter]=pfixe(x0,@g,eps,nmax);
- x0 la valeur initiale
- eps la tolérance
- nmax le nombre maximal d'itérations autorisé
Cette même fonction te retournera alors:
- p la valeur finale
- res le résidu
- iter le nombre d'itérations effectués
(Encore un double post... http://www.developpez.net/forums/d10...s/#post5976580)
supposons f(x)=x2-xCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function[p,res,iter]=pfixe(x0,eps,nmax) x=x0; phix=phi(x); iter=0; err=abs(phix-x); while(err>eps)&(iter<=nmax) iter=iter+1; x=phix; phix=phi(x); end; if iter>nmax disp('convergence non atteint'); else p=x; res=phix-x; disp('convergence atteint'); end
avec la fonction phi(x);
Code:
1
2
3 function [y]=phi(x); y=sqrt(x); end