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

Private GIT Repository
init
[cours-mesi.git] / tel / TPmatlab / integration / TP3b / demo_trace_poly_gauss.m
1 % script demo_trace_poly_gauss : tracé des polynômes de gauss P_0, P_1,...,P_n \r
2 %\r
3 %\r
4 %    pour l'une des quatre familes :  \r
5 %             Gauss-Legendre,\r
6 %             Gauss-Tchebytchev,\r
7 %             Gauss-Hermite,\r
8 %             Gauss-Laguerre.\r
9 %\r
10 %\r
11 %\r
12 % ************ Fonctions auxiliaires utilisées ************\r
13 %  \r
14 %   calcul_poly_gauss \r
15 %\r
16 % *********************************************************\r
17 \r
18 \r
19 n=input('entrez l''entier naturel n : ');\r
20 N=input('entrez le nombre de points pour le graphique : ');\r
21 disp('choix de la famille : ');\r
22 disp('c=1 : Gauss-Legendre');\r
23 disp('c=2 : Gauss-Tchebytchev');\r
24 disp('c=3 : Gauss-Hermite');\r
25 disp('c=4 : Gauss-Laguerre');\r
26 c=input('entrez c : ');\r
27 if (c==3) | (c==4) \r
28    A=input('entrez la borne supérieure de l''intervalle d''etude : ');\r
29 else\r
30    A=1;\r
31 end\r
32 choix=input('voulez vous voir les légendes ? entrez o ou n : ','s');\r
33 if (c==4)\r
34    h=A/(N);\r
35    x=0:h:A;\r
36 else\r
37    h=2*A/(N);\r
38    x=-A:h:A;   \r
39 end\r
40 P=calcul_poly_gauss(c,n);\r
41 clf;\r
42 hold on;\r
43 if strcmp(choix,'o')\r
44    touslesnoms=[];\r
45    toutesleslegendes=[];\r
46    Q=5;\r
47    Qtestt=0;\r
48    for k=0:n\r
49       nom =num2str(k);\r
50       long=length(nom);\r
51       Qtestt=Qtestt+1;\r
52       touslesnoms=[touslesnoms,' ',nom];\r
53       legende=[nom,blanks(Q-long+1)];\r
54       toutesleslegendes=[toutesleslegendes;legende];\r
55    end\r
56 end\r
57 for k=0:n\r
58    cou=couleur7(k);\r
59    plot(x,polyval(P(k+1,1:k+1),x),cou);      \r
60 end\r
61 if strcmp(choix,'o')\r
62    legend(strvcat(toutesleslegendes),0);\r
63 end   \r
64 hold off;\r