Salut tout le monde,
je cherche à faire la concaténation de 2 matrices en dim 3 sous MATLAB.
et merci d'avance
Version imprimable
Salut tout le monde,
je cherche à faire la concaténation de 2 matrices en dim 3 sous MATLAB.
et merci d'avance
Bonjour,
Tu peux:
- créer l'array concaténé en le remplissant toi même
- permute/shiftdim, vertcat et re- permute/shiftdim.
- permute/shiftdim, stacker les dimension supplémentaire, faire un cat de matrice puis déstacker.
- Pourquoi éviter cat(3,) vu qu'elle est faite pour ca ???
je ne peux pa utiliser cat par ce que je dois en quelque sorte écrire le programme qui fait cat(3,),
mais comment je dois remplir l'array moi meme vu que je ne sais pas comment ?????
Bonjour
Si tu veux concaténer deux matrices de même taille ne dimension 3 sans utiliser la fonction de concaténation tu peux faire comme l'exemple ci dessous.
Code:
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 >> A A = 1 1 1 1 1 1 1 1 1 >> B B = 4 4 4 4 4 4 4 4 4 >> C = NaN(size(A,1),size(A,2),2); >> C(:,:,1) = A C(:,:,1) = 1 1 1 1 1 1 1 1 1 C(:,:,2) = NaN NaN NaN NaN NaN NaN NaN NaN NaN >> C(:,:,2) = B C(:,:,1) = 1 1 1 1 1 1 1 1 1 C(:,:,2) = 4 4 4 4 4 4 4 4 4
ça a marché avec la méthode de l'exemple, merci beaucoup mais j'ai encore un problème la matrice concaténé est de type 'double' comment je la rend de type 'uint8' ?
Initialise C avec
Code:C= zeros(size(A,1),size(A,2),2,'uint8');
Ah ok, ça a marché, merci beaucoup, merci.