]> AND Private Git Repository - cours-mesi.git/blob - tel/TPmatlab/equation_differentielle/TP5a/demo_affiche_courbe.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ajout de partiels
[cours-mesi.git] / tel / TPmatlab / equation_differentielle / TP5a / demo_affiche_courbe.m
1 % demo_affiche_courbe : ce script  permet d'afficher des courbes\r
2 % correspondant à des approximations d'équations différentielles.\r
3 %\r
4 % paramètres d'entrée : \r
5 % * nombre de courbes ;\r
6 % * la borne supérieure de l'intervalle d'étude T ; \r
7 % * pour chacune de ces courbes, X un vecteur contenant les valeurs, déja calculées,\r
8 %   aux instants 0,h,2h,...,Nh=T.\r
9 %\r
10 \r
11 %nombre de points pour l'affichage défini par ngra \r
12 ngra=1000;\r
13 \r
14 T=input('entrez la borne supérieur de l''intervalle : ');\r
15 nc=input('entrez le nombre de courbes d''erreurs à tracer : ');\r
16 YY=cell(nc,1);\r
17 xx=cell(nc,1);\r
18 yy=cell(nc,1);\r
19 for k=1:nc\r
20    YY{k}=input(['entrez le vecteur des valeurs de la courbe numero ',num2str(k),': ']);\r
21 end\r
22 for k=1:nc\r
23    N=length(YY{k})-1; \r
24    if (N<ngra)\r
25       h=T/N;\r
26       xx{k}=0:h:T;      \r
27       yy{k}=YY{k};\r
28    else\r
29       h=T/N;\r
30       p=fix(N/ngra);\r
31       auxiy=YY{k};\r
32       yy{k}=[auxiy(1:p:N+1) auxiy(N+1)];\r
33       x=0:h:T;\r
34       xx{k}=[x(1:p:N+1) T];\r
35    end\r
36 end\r
37 chlegend='legend(';\r
38 for k=1:nc-1\r
39    chlegend=[chlegend,'''courbe ',num2str(k),''','];   \r
40 end\r
41 chlegend=[chlegend,'''courbe ',num2str(nc),''',0)'];   \r
42 clf;\r
43 hold on;\r
44 for k=1:nc\r
45    plot(xx{k,1},yy{k,1},couleur7(k));\r
46 end\r
47 eval(chlegend);\r
48 title('valeurs approchées');\r
49 hold off;\r
50 \r
51 \r
52 \r
53 \r