MATLAB Answers

How to avoid overwriting inside a for loop?

13 views (last 30 days)
karishma koshy
karishma koshy on 25 Jul 2019
Answered: Abhilash Padma on 29 Jul 2019
I'm using repmat inside my for loop. But at the end of the loop, it saves only the value of last iteration repeating that last value alone. How not to overwrite the values of repmat and extract all the values of iterations.

  3 Comments

dpb
dpb on 25 Jul 2019
Well. w/ zero lines of code to look at, the crystall ball has a real workout...
"Use array indices" is the best it can come up with at the moment...
dpb
dpb on 25 Jul 2019
frame=repmat(FR,1,size(centreDark(:,1)))
What do you think the purpose of this line is? What are you trying to do with it?
The loop does indeed not use the indexing variable FR to save anything from one iteration to the other so it does, indeed, overwrite all the variables you create each loop.
The question is, what do you intend/want?
karishma koshy
karishma koshy on 26 Jul 2019
I just want to know to which frame the centre and radius point s detected belongs to. And finally I want to make table.with centre radius and frame number

Sign in to comment.

Answers (1)

Abhilash Padma
Abhilash Padma on 29 Jul 2019
Hi,
Instead of declaring “frame” as an empty array, declare it as an empty cell array.
frame={};
And inside for loop, assign the return value of repmat function to “frame{FR}”.Make the following changes in your for loop which may solve your problem.
frame{FR}=repmat(FR,1,size(centreDark(:,1)));
fr=frame{FR};
Now, the cell array “frame stores every value of each iteration.

  0 Comments

Sign in to comment.

Tags