is matlab 'fit' function changing behavior ?

조회 수: 4 (최근 30일)
Neha Shaah
Neha Shaah 2022년 11월 2일
댓글: Xingzheng Pan 2022년 12월 8일
I was working with curve fitting problem and use fit function as follows :
Now when I am running the code after 2 days, an error pops us saying there are more inputs than expected and correct syntax should be
fit(mdl,data)
I see that the second fit function was introduced in r2022b. does that mean the first fit function from curve fitting toolbox is getting replaced with something else ? If yes, what alternatives can I use in r2022b ?

채택된 답변

Hiro Yoshino
Hiro Yoshino 2022년 11월 2일
There are actually many "fit" functions avaiable within MATLAB.
MATLAB determines which "fit" function to use based on the types and the combinations of the input arguments.
For example, the fit provided by Curve Fitting Toolbox is called this way:
load census;
f=fit(cdate,pop,'poly2')
f =
Linear model Poly2: f(x) = p1*x^2 + p2*x + p3 Coefficients (with 95% confidence bounds): p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+04 (1.964e+04, 2.262e+04)
plot(f,cdate,pop)
whereas, the one provided by Predictive Maintenance Toolbox is:
load('linTrainVectors.mat');
mdl = linearDegradationModel;
fit(mdl,linTrainVectors)
mdl
mdl =
linearDegradationModel with properties: Theta: 0.4982 ThetaVariance: 0.0124 SlopeDetectionLevel: 0.0500 Prior: [1×1 struct] NoiseVariance: 0.9920 SlopeDetectionInstant: [] CurrentMeasurement: 0 Phi: 2.5204 InitialLifeTimeValue: [] CurrentLifeTimeValue: [] LifeTimeVariable: "" LifeTimeUnit: "" DataVariables: "" UserData: [] UseParallel: 0
I suppose the function that is available most among the toolboxes is "plot". You can find many plot functions.

추가 답변 (1개)

Xingzheng Pan
Xingzheng Pan 2022년 12월 7일
Hey all. I still get trouble even use the demo case above. The Matlab still call the fit function in ML toolbox, any ideas to deactivate? I really need the fit function in curve fitting toolbox.
  댓글 수: 2
Hiro Yoshino
Hiro Yoshino 2022년 12월 8일
I bet you do not own the toolbox(es) required to run the code above.
You do not need deactivate toolboxes you have; MATLAB automatically selects the best one by checking the types and order of the arguments you give to the function.
Xingzheng Pan
Xingzheng Pan 2022년 12월 8일
Yeh mate. All fixed now. I realised I don't have curve fitting toolbox installed before.
Have a good day.

댓글을 달려면 로그인하십시오.

카테고리

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