How to set a parameter lower bound during curve fitting?
25 views (last 30 days)
Show older comments
Alexandria Will-Cole
on 25 Jul 2018
Commented: Alexandria Will-Cole
on 25 Jul 2018
Hello, I want to set the lower bound for my p2 variable as 0, because a negative value is unphysical for my data set.
Here is my code:
rho=Resistivityohmcm; T=TemperatureK;
plot(T,rho,'-o')
x=T; y=rho;
fnPolySq=@(p1,p2,x) p1*x.^2 + p2; %fit(x,y,fnPolySq) mask = x > 135 ; %restricts the data fit to before the upturn
f = fit(x(mask), y(mask), fnPolySq ); plot(f, T, rho)
plot(f,T,rho) disp (f)
Thanks!
0 Comments
Accepted Answer
Adam Danz
on 25 Jul 2018
Edited: Adam Danz
on 25 Jul 2018
Here's how you set bounds using fit()
See 'Lower'.
3 Comments
Adam Danz
on 25 Jul 2018
In the line of code you shared, I don't see where you've implemented the 'Lower' parameter. See the link again and read the section, " 'Lower' — Lower bounds on coefficients to be fitted"
More Answers (0)
See Also
Categories
Find more on Linear and Nonlinear Regression 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!