How to create multidimensional array from several vectors

Hello,
I want to increase the performance of a program by vectorizing the code instead of using for-loops. For this I want to create a multidimensional array from several vectors. Below you can find a simplified example using for-loops.
%definition of vectors a,b,c,d
a=1:5;
b=6:10;
c=11:15;
d=16:20;
%creation of multidimensional array M
for u=1:5
M(:,:,u)=[a(u),b(u);c(u),d(u)]
end
I hope you can help me to find a solution for vectorizing this code. Thank you very much in advance!

1 Comment

I think using the function reshape can solve the problem:
%definition of vectors a,b,c,d
a=1:5;
b=6:10;
c=11:15;
d=16:20;
V=[a;b;c;d];
M=reshape(V,[2,2,5])
But maybe there is a better solution. Other ideas are still welcome!

Sign in to comment.

Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 6 Feb 2018

Commented:

on 6 Feb 2018

Community Treasure Hunt

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

Start Hunting!