Bonjour,
Je suis entrain d'assembler deux matrices F et G, je veux assembler les deux matrices selon la valeur maximal des deux colonnes (couleur jaune) dans l'image jointe.
Merci
Version imprimable
Bonjour,
Je suis entrain d'assembler deux matrices F et G, je veux assembler les deux matrices selon la valeur maximal des deux colonnes (couleur jaune) dans l'image jointe.
Merci
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 F = [1 1 0 0 0 ; 1 1 0 0 0 ; 1 1 0 1 0 ; 1 1 0 1 0 ; 1 1 1 1 1 ; 1 1 1 1 1]; G = [1 1 1 1 1 ; 1 1 1 1 1 ; 1 1 1 0 1 ; 0 1 1 0 1 ; 0 0 1 0 1 ; 0 0 0 0 1]; nRows = size(F,1); for n = 1:nRows if any(F(n,:) & G(nRows-n+1,:)) break end end n = n-1; FG = [G(1:end-n,:) ; G(end-n+1:end,:)|F(1:n,:) ; F(n+1:end,:)];
Code:
1
2
3
4
5
6
7
8
9
10
11
12 FG = 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1
Bonjour,
Autre solution peut être:
Code:
1
2
3
4
5
6
7 F=[1 1 1 1 1;1 1 1 1 1;1 1 0 1 0;1 1 0 1 0;1 1 0 0 0;1 1 0 0 0]; G=[0 0 0 0 1;0 0 1 0 1;0 1 1 0 1;1 1 1 0 1;1 1 1 1 1;1 1 1 1 1]; M=cat(1,F,G); [Y,I] = max(sum(M)); LN=find(M(:,I)==0); M( LN(1)-length(LN):LN(2)-length(LN),:)=M(LN(1:end),:) | M( LN(1)-length(LN):LN(2)-length(LN),:); M(LN(1:end),:)=[]
Jerome Briot
Bonjour,
Le code qui vous m'avez envoyé pour assembler deux matrices, est ce qu'il marche sur toutes matrices de différentes tailles quelque soit grande ou petite ou non.
Bonne journée.
Le code ne fonctionne que si les matrices F et G ont le même nombre de lignes.
Merci, mon code à chaque fois donne une matrice différente (code Radom), les matrice F et G sont toujours de même taille ligne et les colonnes sont parfois identique et généralement différente.
Mon but est inversé l'une de ces matrices puis assemblage, sachant que l'assemblage se fait à partir de deux colonnes plus max de j.
Pour bien comprendre voir les images Pièce jointe 232326Pièce jointe 232329
Et quelle est la question ?
Quel est le problème avec le code que j'ai écris précédemment ?