]> AND Private Git Repository - cours-mesi.git/blob - tel/TPmatlab/integration/TP3e/demo_tp3E.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
j
[cours-mesi.git] / tel / TPmatlab / integration / TP3e / demo_tp3E.m
1 % fichier script de demo_tp3E\r
2 %\r
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
4 %                           Fonctions connexes appelées\r
5 %\r
6 % outils_pol (donc diff_div_dist et base_pn),deriv_app\r
7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
8 \r
9 \r
10 % initialisations diverses\r
11 global d base;\r
12 \r
13 % indéterminée classique des polynomes\r
14 syms X real;\r
15 deg_max=6;\r
16 \r
17 % Création des variables symboliques nécessaires;\r
18 % pourrait se faire dans une fonction à part!\r
19 x=[];y=[];\r
20 ch1='x';ch2='y';\r
21 for i=0:deg_max\r
22     sym([ch1 num2str(i)],'real');\r
23     x=[x sym([ch1 num2str(i)])];\r
24     sym([ch2 num2str(i)],'real');\r
25     y=[y sym([ch2 num2str(i)])];\r
26 end\r
27 \r
28 % détermination une seule fois des outils pour le calcul\r
29 % du polynome d'interpolation maximal.\r
30 [d,base]=outils_pol(x,y,X);\r
31 \r
32 % boucle des recherches de formules de dérivation approchée\r
33 \r
34 % initialisation\r
35 rep=1;\r
36 while rep==1\r
37     \r
38     % Choix de l'ordre de dérivation et du degré du polynome d'interpolation;\r
39     % les acharnés échapperont au controle!\r
40     k=-1;compt=0;\r
41     while ((k<=0)|(k>deg_max))&(compt<4)\r
42         ch1=input('Choisissez un ordre de dérivation k (0<k<6)\n','s');\r
43         k=floor(str2num(ch1));\r
44         compt=compt+1;\r
45         % si compt==4 message d'injure...\r
46     end\r
47     n=-1;compt=0;\r
48     while ((n<=0)|(n<k)|(n>deg_max))&(compt<4)\r
49         ch2=input('Choisissez un degré n (n<7)de polynome d''interpolation cohérent\n','s');\r
50         n=floor(str2num(ch2));\r
51         compt=compt+1;\r
52         % si compt==4 message d'injure...\r
53     end\r
54     \r
55     % Calcul proprement dit\r
56     res=deriv_app(k,n,x,y,X);\r
57     \r
58     % Désir d'un autre calcul\r
59     ch=input('Voulez-vous effectuer d''autres calculs ?(si oui: taper 1) \n','s');\r
60     rep=str2num(ch);\r
61 end\r
62     \r
63     \r
64     \r
65     \r
66 \r