Store arrays of different size in each for loop itertaion
1 次查看(过去 30 天)
显示 更早的评论
Hi,
In the below script, I need to store the output kkkk into a new array but in the same column. Here, size of the kkkk is different during each itertaion.
I know that cell array would solve the issue. But I need to store them in the single colum.
for i=1:4
kkkk = find(A>=sz(i,1) & A<=sz(i,1)+100);
clear kkkk
end
采纳的回答
Matt J
2024-4-10
kkk=cell(4,1);
for i=1:4
kkkk{i} = find(A>=sz(i,1) & A<=sz(i,1)+100);
end
kkkk=vertcat(kkkk{:});
5 个评论
Matt J
2024-4-11
I corrected the varibale name and preallocated the cell array correctly. Still the processing time is very large.
If you profile the code, I think you will see that the bottleneck is coming from find(), not from anything else. It's an expensive function.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!