Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2971
  • Last Modified:

How do I transform 1D array into 2D array without using for loops in Matlab?

Hi,

I've got a 1D array containing a large number of values, and I'd like to transform it to a 2D array where each sequence of 12 values is put in a row, so the size of the 2D array would be:
 number of rows = number of values/12
 number of columns = 12

I currently make this operation with a for loop, but it takes time for arrays containing large amount of data.

Someone would have an idea to optimize it?
for nrow=1:length(myarray)/12,
   for ncol=1:12,
      newarray(nrow,ncol)=myarray((nrow-1)*12+ncol);
   end
end

Open in new window

0
JulienVan
Asked:
JulienVan
2 Solutions
 
yuk99Commented:
Use RESHAPE function. Don't have matlab right now to test by try this.

newarray=reshape(myarray,12,[])';

Open in new window

0
 
LukeyJayCommented:
Yuk,

I tested your code.  Works fine.

Luke
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now