Salut à tous,
Par cette journée pluvieuse, je me suis mis à coder un peu et je cherche à faire un peu d'optimisation.
Si vous avez aussi envie de vous prendre au jeu...
Imaginons qu'on ait une matrice du type:
La 1e ligne serait un index, la seconde notre abscisse et les suivantes des ordonnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 matrice_initiale=[1,2,3,1,2,3,1,2,1,1,2;... 1,1,1,2,2,2,3,3,4,5,5;... 1,2,5,8,9,7,8,9,3,1,4;... 2,6,6,7,8,9,8,5,1,5,3;... 3,6,1,3,3,7,8,9,5,2,4;... 4,5,6,7,8,2,3,4,5,6,4]
J'ai cherché à tracer sur 3 figures (liés à l'index) des subplot des 4 ordonnées et ça me donne:
Je suis assez fier de moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 function tracepasoptimisee(matrice_initiale) % matrice_initiale: % Index % X % Y1 % Y2 % Y3 % Y4 %Tri par colonne selon la ligne 1 [pasbesoin,idx] = sort(matrice_initiale(1,:)) matrice_triee=matrice_initiale(:,idx) % ans = % % 1 1 1 1 1 2 2 2 2 3 3 % 1 2 3 4 5 1 2 3 5 1 2 % 1 8 8 3 1 2 9 9 4 5 7 % 2 7 8 1 5 6 8 5 3 6 9 % 3 3 8 5 2 6 3 9 4 1 7 % 4 7 3 5 6 5 8 4 4 6 2 %Recherche en ligne 2 des termes égaux à 1 debut=find(matrice_triee(2,:)==1)%!sous réserve que le nouveau plot commence toujours à index=1 %ans = % % 1 6 10 nbplot=matrice_triee(1,end)% 3 ici for i=1:nbplot%boucle plot figure if i~=nbplot temp=matrice_triee(:,debut(i):debut(i+1)-1)%sous-matrice else temp=matrice_triee(:,debut(nbplot):size(matrice_triee,2))%dernière sous-matrice end for j=1:4%boucle des 4 graphes subplot(4,1,j); plot(temp(2,:),temp(j+2,:)) title(strcat('elle est jolie ma figure n° ',num2str(j),' :)')); end%j end%imais je cherche à optimiser ce code que je trouve long et parfois fastidieux,
donc si vous avez des astuces...
J'ai notamment un vilain lag sur le tracé de la dernière figure... (à cause du if else?)
Et y'a-t-il un moyen d'avoir un titre général en haut de figure?
Merci d'avance![]()
Partager