How to make a 3D Matrix that contains all ones in the first layer, all twos in the second layer and all threes in the third layer?

댓글 수: 5

Fangjun Jiang
Fangjun Jiang 2020년 9월 3일
define layer
Do you mean something like:
f(1:5,1:5,1)=1;
f(1:5,1:5,2)=2;
f(1:5,1:5,3)=3;
Nicholas Deosaran
Nicholas Deosaran 2020년 9월 3일
Yes, but is there a way to do it with the ones function or no?
Size = [5,6,3];
M = ones(Size) .* permute([1;2;3],[3,2,1]);
Nicholas Deosaran
Nicholas Deosaran 2020년 9월 3일
Thank you!

댓글을 달려면 로그인하십시오.

 채택된 답변

Jon
Jon 2020년 9월 3일
편집: Jon 2020년 9월 3일

1 개 추천

You can also do it like this, for example for a 2 by 4 by 3
A = ones(2,4,3).*reshape(1:3,1,1,3)

댓글 수: 4

Nicholas Deosaran
Nicholas Deosaran 2020년 9월 3일
Jon thank you for that as well!
Nicholas Deosaran
Nicholas Deosaran 2020년 9월 10일
what does the reshape(1:3,1,1,3) fucntion do?
Abdolkarim Mohammadi
Abdolkarim Mohammadi 2020년 9월 11일
A simple way to reach the matrix you wanted is to create a m-by-n-by-k array of ones and then multiply it by a 1-by-1-by-k array of 1 to k. The trick is to first create a 1-by-k array and then permute it to ge the so-called 1-by-1-by-k array. You can permute it in different ways, including the permute() function and reshape().
Jon
Jon 2020년 9월 14일
편집: Jon 2020년 9월 14일
You asked about what the reshape function does.
The reshape(1:3,1,1,3) The first argument 1:3 makes a 3 element row vector with elements [1, 2, 3]the second, third and fourth arguments specify that we want to turn this row vector into a 1 row, by 1 column, by 3 "page" array. So 1 goes in the 1,1,1 location of the first page, 2 goes into th 1,1,2 location on the second page and 3 goes into the 1,1,3 location on the third page. By shaping it this way the array dimension for the multiplication
ones(2,4,3).*reshape(1:3,1,1,3)
Also type doc reshape on the command line to get documentation on the reshape function for further details

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

질문:

2020년 9월 3일

편집:

Jon
2020년 9월 14일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by