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 个评论

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!

请先登录,再进行评论。

回答(0 个)

类别

标签

Community Treasure Hunt

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

Start Hunting!

Translated by