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!