Search All of the Math Forum:

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

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

 Messages: [ Previous | Next ]
 roman voronov Posts: 10 Registered: 4/25/08
Re: changing a 2D array into a 3D array
Posted: May 10, 2013 6:35 PM

A = rand(2,4) ;
N = 3 ;
B = repmat(A,1,1,N)
Error using repmat
Too many input arguments.

"Jos (10584)" wrote in message <frnvri\$5cb\$1@fred.mathworks.com>...
> "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