2D matrix to 3D
1 次查看(过去 30 天)
显示 更早的评论
Can anyone help me with making a 2D matrix into a 3D matrix?I have aI have a (616*780) 2d matrix and I need to make a 3D matrix of dimensions (616*780 x M) I need to take (616*780) consecutive matrices by row for layers,where M is the max value in the 2d matrix. Means I want to slice the 2D matrix.
I would appreciate it if anyone could help me! Thank you very much!
0 个评论
采纳的回答
KALYAN ACHARJYA
2019-6-5
编辑:KALYAN ACHARJYA
2019-6-5
Here I used the multidimetional arrays
mat1(:,:,1)=[1,2,3,4; 5,6,7,8; 9,10,11,12];
mat1(:,:,2)=[1,2,3,4; 5,6,7,8; 9,10,11,12];
mat1(:,:,3)=[1,2,3,4; 5,6,7,8; 9,10,11,12];
disp(mat1);
Result:
(:,:,1) =
1 2 3 4
5 6 7 8
9 10 11 12
(:,:,2) =
1 2 3 4
5 6 7 8
9 10 11 12
(:,:,3) =
1 2 3 4
5 6 7 8
9 10 11 12
Check?
>> whos mat1
Name Size Bytes Class Attributes
mat1 3x4x3 288 double
>>
更多回答(1 个)
madhan ravi
2019-6-5
repmat(a,1,1,max(a(:))) % where a is your matrix if you have decimals in your matrix then use round function for max() to make the max value as an integer
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!