How can I create a 3-d matrix from a 2-d matrix?

1 view (last 30 days)
My matrix is an 11x14 matrix and I would like to create 2 more "pages" behind the original of the same values for a total of 3 "pages". Is there an efficient way of doing this? This needs to be done for several matrices.

Accepted Answer

Image Analyst
Image Analyst on 13 Jun 2016
Another way is to use cat(3,...) instead of repmat():
output = cat(3, myMatrix, myMatrix, myMatrix);
or "If I have the A(:,:,2) matrix and want to replicate those values into A(:,:,1) and A(:,:,3),"
A(:,:,1) = A(:,:,2);
A(:,:,3) = A(:,:,2);

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 12 Jun 2016
repmat(A,1,1,3)
  4 Comments
zephyr21
zephyr21 on 13 Jun 2016
Thank you! Another question if you don't mind. If I have the A(:,:,2) matrix and want to replicate those values into A(:,:,1) and A(:,:,3), how would I do that?
Roger Stafford
Roger Stafford on 13 Jun 2016
What difference does it make if all three levels end up the same?

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!