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

Private GIT Repository
init
[cours-mesi.git] / tel / TPmatlab / equation_nonlineaire / TP4k / calcul_coeff_ordre4.m
1 function [a,b,c,d]=calcul_coeff_ordre4(A)\r
2 \r
3 % calcul_coeff_ordre4 : mis au point en symbolique d'une méthode d'ordre 4.\r
4 %\r
5 % [a,b,c,d]=calcul_coeff_ordre4(A) calcule les coefficents a,b,c,d tels que \r
6 % la fonction g(x)=a*x+b/x+c/x^3+d/x^5 définisse une suite du point fixe\r
7 % avec un ordre de convergence égal à 4 autour de l=sqrt(A);\r
8 %\r
9 % paramètres d'entrées : A\r
10 % paramètres de sorties : a,b,c,d\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 d;\r
30 g=a*x+b/x+c/x^3+d/x^5;\r
31 gp=diff(g,x);\r
32 gp2=diff(g,x,2);\r
33 gp3=diff(g,x,3);\r
34 B=solve(g-x,gp,gp2,gp3,a,b,c,d);\r
35 a=sym(subs(B.a,x,sqrt(sym(A))));\r
36 b=sym(subs(B.b,x,sqrt(sym(A))));\r
37 c=sym(subs(B.c,x,sqrt(sym(A))));\r
38 d=sym(subs(B.d,x,sqrt(sym(A))));\r
39 \r
40 \r
41 \r
42 \r