MATLAB Answers

Avoid using for loop

2 views (last 30 days)
Zeynab Mousavikhamene
Zeynab Mousavikhamene on 8 Oct 2019
Answered: Srivardhan Gadila on 11 Oct 2019
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 Comments

Show 3 older comments
Daniel M
Daniel M on 8 Oct 2019
You clearly didn't read the article. Look closer at the deal() function.
Alaster Meehan
Alaster Meehan on 8 Oct 2019
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
Daniel M on 8 Oct 2019
Note that arrayfun is just a for loop internally.

Sign in to comment.

Answers (1)

Srivardhan Gadila
Srivardhan Gadila on 11 Oct 2019
You may refer to arrayfun, structfun & splitapply.

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags