Nested for loop not iterating

1 view (last 30 days)
Brenton Hirao
Brenton Hirao on 10 Oct 2019
Commented: per isakson on 10 Oct 2019
I have a nested for loop needed to do a gridsearch to do a linear fit of a model with two unknown constants. As far as I can tell, these for loops are not iterating because i and j both show a value of 1 in the workspace. What am I doing wrong?
Thanks for any help.
agrid=[1:0.1:100];
bgrid=[.5:.0001:1.5];
lenagrid=length(agrid);
lenbgrid=length(bgrid);
for i = 1:lenagrid
for j = 1:lenbgrid
a_p = agrid(i)
b_p=bgrid(j);
fhat(i,j)=(a_p(i))-(b_p(j)).*magrange;
TSE(i,j)=sum((fhat-magrange).^2);
end
end
  2 Comments
Daniel M
Daniel M on 10 Oct 2019
You're trying to access the jth element of b_p, but it is only length 1.
per isakson
per isakson on 10 Oct 2019
Was there an error message? What did it say?

Sign in to comment.

Answers (1)

per isakson
per isakson on 10 Oct 2019
I'm just guessing. Replace
a_p = agrid(i)
b_p=bgrid(j);
fhat(i,j)=(a_p(i))-(b_p(j)).*magrange;
by
fhat(i,j) = ( agrid(i) - bgrid(i) ).*magrange;

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!