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 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by