is matlab 'fit' function changing behavior ?

26 visualizaciones (últimos 30 días)
Neha Shaah
Neha Shaah el 2 de Nov. de 2022
Comentada: Xingzheng Pan el 8 de Dic. de 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 ?

Respuesta aceptada

Hiro Yoshino
Hiro Yoshino el 2 de Nov. de 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.

Más respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by