Filling in multidimensional array efficiently
4 次查看(过去 30 天)
显示 更早的评论
I need to fill in array of the size (900,1800,80,60) --> (tr,t,f,ch) through a for loop. In every iteration, I will get a bunch of data for a particular f and ch. This bunch, call it b, is the size of 50 by1800 and sometimes it is 49 by 1800.
Example:
array(?,:,f_1,ch_1) = b
I wish in each loop to fill in bunch b in my array. Is there an easy way to determine "?" in each loop? Alternatively, is there an easier way to fill in "array"?
0 个评论
采纳的回答
更多回答(2 个)
James Tursa
2020-12-23
Something like this maybe?
k = 1;
% your loop
b = r x 1800 matrix
f = whatever
ch = whatever
r = size(b,1);
array(k:k+r-1,:,f,ch) = b;
k = k + r;
% end loop
But it is not clear how f and ch change within the loop, so this might not work as written.
0 个评论
另请参阅
类别
在 Help Center 和 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!