help in multi dimensional array 3D

5 views (last 30 days)
hi I'm trying to increase the third dimension in a three-dimensional matrix can you help me? Example a=(2,3,5) after iteration it must be a=(2,3,7) thanks

Accepted Answer

Greg
Greg on 17 Jan 2017
Edited: Greg on 17 Jan 2017
I assume that "a=(2,3,5)" means the corresponding length of each dimension of a is 2, 3 and 5.
Increasing variable size is rarely a good idea (there are plenty of articles on pre-allocation; I won't rehash).
a = zeros(2,3,7);
for ind3 = 1:7
a(:,:,ind3) = randi(10,2,3);
end
(But ALL of this trivial example can be done with "a = randi(10,2,3,7);")
If you really MUST dynamically allocate:
  • a(:,:,end+1) = randi(10,2,3); ~OR~
  • a = cat(3,a,randi(10,2,3));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!