How to set a parameter of poly2 fit to a specific value during fit process?

8 次查看(过去 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)

采纳的回答

dpb
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
dpb 2018-7-24
You could then Accept answer to indicate topic closed if nothing else...
Glad to help...

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile 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!

Translated by