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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| function tab=determination_tableau_non_trier(tableau_reflux_123_liquide_melange,tableau_reflux_1234_liquide_melange,tableau_reflux_12345_liquide_melange,tableau_reflux_123456_liquide_melange)
tab=[];
%Cette fonction permet de constituer le tableau de reflux liquide_melange
%non trier selon que les tableaux en paramètres sont vides ou non. On
%rajoute sur la troisième colonne les nombres 123,12345,123456 selon que le
%reflux trouvé est sur tel ou tel tableau ce qui nous permettra de nous
%repérer par la suite.
%Cas où tous les 4 tableaux sont non vides
if( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)>0 )
A=tableau_reflux_123_liquide_melange(:,1:2);
B=tableau_reflux_1234_liquide_melange(:,1:2);
C=tableau_reflux_12345_liquide_melange(:,1:2);
D=tableau_reflux_123456_liquide_melange(:,1:2);
%On remplit les deux premières colonnes avec les deux premières colonnes
%des différents tableaux dans l'ordre.
tab(:,1:2)=[A;B;C;D];
%Il reste à remplir la troisième colonne avec les nombres 123,
%1234,12345 ou 123456 signifiant l'appartenance à telle ou telle piste
%de reflux.
tab(:,3)=zeros(size(tab(:,1:2),1),1);
Z=tab(:,3);
A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
for i=1:size(A123,1)
Z(i)=123;
end
A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
Z(i)=1234;
end
A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)
Z(i)=12345;
end
A123456=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+size(tableau_reflux_123456_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+size(A1234,1)+size(A12345,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)+size(A123456,1)
Z(i)=123456;
end
tab(:,3)=Z;
%Cas où tous les 3 premiers tableaux sont non vides et le dernier 123456
%est vide.
elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
A=tableau_reflux_123_liquide_melange(:,1:2);
B=tableau_reflux_1234_liquide_melange(:,1:2);
C=tableau_reflux_12345_liquide_melange(:,1:2);
tab(:,1:2)=[A;B;C];
tab(:,3)=zeros(size(tab(:,1:2),1),1);
Z=tab(:,3);
A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
for i=1:size(A123,1)
Z(i)=123;
end
A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
Z(i)=1234;
end
A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)
Z(i)=12345;
end
tab(:,3)=Z;
%Cas où tous les 2 premiers tableaux sont non vides et les derniers 12345
%et 123466 sont vides.
elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
A=tableau_reflux_123_liquide_melange(:,1:2);
B=tableau_reflux_1234_liquide_melange(:,1:2);
tab(:,1:2)=[A;B];
tab(:,3)=zeros(size(tab(:,1:2),1),1);
Z=tab(:,3);
A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
for i=1:size(A123,1)
Z(i)=123;
end
A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
Z(i)=1234;
end
tab(:,3)=Z;
%Cas où le 1er tableau est non vide et tous les autres vides.
elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)==0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
A=tableau_reflux_123_liquide_melange(:,1:2);
tab(:,1:2)=A;
for i=1:size(A,1)
Z(i)=123;
end
tab(:,3)=Z;
%Cas (peu probable) où tous les tableaux sont vides i.e. pas de reflux
else
tab;
end |
Partager