is matlab 'fit' function changing behavior ?

10 vues (au cours des 30 derniers jours)
Neha Shaah
Neha Shaah le 2 Nov 2022
Commenté : Xingzheng Pan le 8 Déc 2022
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 ?

Réponse acceptée

Hiro Yoshino
Hiro Yoshino le 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.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with Curve Fitting Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by