Avoid using for loop
显示 更早的评论
I am using this like which works fine:
Cellcount=Acc.perhexagon(Ac.time==data.timepoints(end).time);
I want to get information not only from the last timepoint. I want to have info from zeor timepoint to final time point with the step of 2. 0, 2, 4, 6, ...,end or something like this: 0:2:end
What would be the easiest way?
6 个评论
Daniel M
2019-10-8
You should read about how to assign output from a comma-separated list.
Zeynab Mousavikhamene
2019-10-8
Rik
2019-10-8
Your goal is not very clear to me, but often if you test for equality in a loop, ismember can provide a speedup.
Daniel M
2019-10-8
You clearly didn't read the article. Look closer at the deal() function.
Alaster Meehan
2019-10-8
Tru using arrayfun.
Something like:
Cellcount = Acc.perhexagon( arrayfun(@(x) (x.time == Ac.time), data.timepoints(1:2:end)) );
Note, because you are indexing an array you will need to start from 1 not 0.
structfun might also work.
Cheers Alaster
Daniel M
2019-10-8
Note that arrayfun is just a for loop internally.
回答(1 个)
Srivardhan Gadila
2019-10-11
0 个投票
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!