is matlab 'fit' function changing behavior ?

16 views (last 30 days)
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 ?

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 2 Nov 2022
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.

More Answers (1)

Xingzheng Pan
Xingzheng Pan on 7 Dec 2022
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 Comments
Hiro Yoshino
Hiro Yoshino on 8 Dec 2022
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 on 8 Dec 2022
Yeh mate. All fixed now. I realised I don't have curve fitting toolbox installed before.
Have a good day.

Sign in to comment.

Categories

Find more on Interpolation 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!