Bonjour tous,
j'ai un petit probleme à vous soumettre car je ne trouve pas la solution... j'espere que vous pourrez m'aider
je vous explique :
Données de départ :
J'ai un tableau qui ressemble à ceci :
chaque ligne "i" de ma celluleT{i,:} contient plusieurs informations sur une pièce industrielle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Piece{1,1}='A1'; Piece{1,2}(1,1)='X'; Piece{1,3}=25; Piece{1,4}=15; Piece{1,5}=25; Piece{2,1}='A1'; Piece{2,2}(1,1)='X'; Piece{2,3}=100; Piece{2,4}=15; Piece{2,5}=25; Piece{3,1}='BB'; Piece{3,2}(1,1)='Z'; Piece{3,3}=300; Piece{3,4}=15; Piece{3,5}=25; Piece{4,1}='A1'; Piece{4,2}(1,1)='X'; Piece{4,3}=400; Piece{4,4}=0.5; Piece{4,5}=25; Piece{4,2}(2,1)='Y'; Piece{5,1}='BB'; Piece{5,2}(1,1)='X'; Piece{5,3}=400; Piece{5,4}=15; Piece{5,5}=25; Piece{5,2}(2,1)='Y'; Piece{6,1}='A1'; Piece{6,2}(1,1)='X'; Piece{6,3}=400; Piece{6,4}=70; Piece{6,5}=25; Piece{6,2}(2,1)='Y';
La colonne 1 : représente l'état de celle ci (il y en a deux possibles : A1 ou BB)
La colonne 2 : représente sur quel type de courbe que l'on veut tracer resultats (X,Y ou Z) plusieurs choix possibles.
les colonnes suivantes : donnent les valeurs de X,Y,Z (ce qui permet de placer les points sur les graphiques)
Ce que je veux faire :
je veux 6 types de graphiques.
1°) etat A1 courbe X 2°) etat A1 courbe Y 3°) etat A1 courbe Z
4°) etat BB courbe X 5°) etat BB courbe Y 6°) etat BB courbe Z
si ma pièce "i" (ligne i du tableau pièce) est de type A1 et contient dans la case 2 X et Y cela veut dire que je dois mettre un point sur les figure 1°) et 2°).
si ma pièce "i" (ligne i du tableau pièce) est de type BB et contient dans la case 2 Z cela veut dire que je dois mettre un point sur la figure 6°).
=> ainsi de suite
Voici mon bout de code :
probleme :
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 Etat{1}='A1';Etat{2}='BB'; typeCourbe{1}='X'; typeCourbe{2}='Y'; typeCourbe{3}='Z'; for i=1:length(Etat) for j=1:length(typeCourbe) %petit compteur pour augmenter mes numero de figure automatiquement countFig=countFig+1; figure (countFig) hold on for k=1:nbPieces %si la courbe "k" est à l'état "i" et qu'il s'intéresse à variable "j" alors on trace ds courbe "i,j" if( any(typeCourbe{j}==Pieces{k,2}(:,1)) && any(Etat{i}==Pieces{k,1}) ) if (typeCourbe{j}==typeCourbe{1}) plot(Pieces{k,3},longeurPiece(k),'om') end if (typeCourbe{j}==typeCourbe{2}) plot(Pieces{k,4},longeurPiece(k),'om') end if typeCourbe{j}==typeCourbe{3} plot(Pieces{k,5},longeurPiece(k),'om') end end end end end
=> ce bout de code marche tres bien pour les courbes 2 3 5 6 mais pas pour les courbes 1 et 4.
=> en fait, à chaque fois que je change d'etat dans ma boucle "i" il me trace sur le premier graphique tout les points sans faire le tri entre X,Y et Z
voyez vous le soucis dans mon bout de code car je ne comprends pas ce qui est mal fait
merci d'avance pr votre aide
Partager