How to set a parameter of poly2 fit to a specific value during fit process?
2 次查看(过去 30 天)
显示 更早的评论
I'm trying to take data and plot it then fit a curve that is of the form f(x) = p1*x^2 + p2*x + p3, but with p2 equal to zero. Right now my code fits for p1, p2, and p3. How can I set p2 to zero and allow it only to fit p1 and p3? Please see the code and results below. Thank you!
Code:
rho=Resistivityohmcm;
T=TemperatureK;
plot(T,rho,'-o')
f=fit(T,rho,'poly2');
plot(f,T,rho)
disp (f)
Results:
Gives the correct plot and the values for f:
Linear model Poly2:
f(x) = p1*x^2 + p2*x + p3
Coefficients (with 95% confidence bounds):
p1 = 1.511e-07 (1.422e-07, 1.599e-07)
p2 = -2.127e-05 (-2.512e-05, -1.743e-05)
p3 = 0.001779 (0.001383, 0.002175)
0 个评论
采纳的回答
dpb
2018-7-20
编辑:dpb
2018-7-24
You have to define the model...for something this simple the anonymous function route is the simplest...
fnPolySq = @(p1,p2,x) p1*x.^2 + p2;
f=fit(T,rho,'fnPolySq');
ADDENDUM
It's the pits getting old...forgot where I was going in mid-stream... :(
The above estimates the function without the linear term; the Q? was for a constant value...same idea, build it into the model
C=YourValue;
fnPolySq = @(p1,p3,x) p1*x.^2 + C*x + p3;
5 个评论
dpb
2018-7-24
You could then Accept answer to indicate topic closed if nothing else...
Glad to help...
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!