Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: changing a 2D array into a 3D array
Replies: 6   Last Post: May 10, 2013 7:29 PM

 Messages: [ Previous | Next ]
 Jos Posts: 627 Registered: 7/28/07
Re: changing a 2D array into a 3D array
Posted: Mar 18, 2008 4:52 AM

"Jen " <phyjeh@leeds.ac.uk> wrote in message
<frnuti\$rp1\$1@fred.mathworks.com>...
> Hello,
>
> I have a 2 dimensional array with n elements along each
> direction.... and I want to "copy" this array n times to
> create a 3 dimensional array, so that the 3rd dimension is
> made up of n copies of the original array.
>
> The 2 dimensional array is made using two for loops to
> calculate an integral, so I don't want to just add an extra
> loop to make the 3D array as it already takes a long time to
> calculate!
>
> Is there another way to extend the matrix into the 3rd
> dimension?
>
> Thanks to anyone that replies!

Use REPMAT to create N planes of the 2D matrix A:

A = rand(2,4) ;
N = 3 ;
B = repmat(A,1,1,N)

B is now a 2-by-4-by-3 matrix

hth
Jos

Date Subject Author
3/18/08 Jen
3/18/08 Jos
5/2/09 Heng Sun
5/3/09 mike zander
5/3/09 ImageAnalyst
5/10/13 roman voronov
5/10/13 dpb