]> AND Private Git Repository - cours-mesi.git/blob - tel/TPmatlab/equation_nonlineaire/TP4l/calcul_coeff_racine3.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
init
[cours-mesi.git] / tel / TPmatlab / equation_nonlineaire / TP4l / calcul_coeff_racine3.m
1 function [a,b,c]=calcul_coeff_racine3(A)\r
2 \r
3 % calcul_coeff_racine3 : mis au point en symbolique d'une méthode d'ordre 3  convergeant vers l^(1/3).\r
4 %\r
5 % [a,b,c]=calcul_coeff_racine3(A) calcule les coefficents a,b,c  tels que \r
6 % la fonction g(x)=a*x+b/x^2+c/x^5 définisse une suite du point fixe\r
7 % avec un ordre de convergence égal à 3 autour de l=(A)^(1/3);\r
8 %\r
9 % paramètres d'entrées : A\r
10 % paramètres de sorties : a,b,c\r
11\r
12 %\r
13\r
14 % ************ Fonctions auxiliaires utilisées ************\r
15 %\r
16 %       aucune\r
17 %\r
18 % *********************************************************\r
19 %\r
20 \r
21 \r
22 % tests préliminaire\r
23 if isnumeric(A)\r
24    if (A<=0) \r
25       error('attention, l''argument doit être strictement positif');\r
26    end\r
27 end\r
28 % corps d'algorithme\r
29 syms x a b c;\r
30 g=a*x+b/x^2+c/x^5;\r
31 gp=diff(g,x);\r
32 gp2=diff(g,x,2);\r
33 B=solve(g-x,gp,gp2,a,b,c);\r
34 a=sym(subs(B.a,x,(sym(A))^(1/3)));\r
35 b=sym(subs(B.b,x,(sym(A))^(1/3)));\r
36 c=sym(subs(B.c,x,(sym(A))^(1/3)));\r