Error in using fitlnm: Why do I get "The model function must accept two arguments"?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
pietro
am 16 Mai 2018
Kommentiert: Star Strider
am 16 Mai 2018
Hi all,
I am having troubles in using fillnm. Below an example:
clear all
x=[0:0.01:10];
y=x.^2;
modelfun=@(x)(x.^2);
beta0=1;
mdl=fitnlm(x,y,modelfun,beta0);
Unfortunately, I get the following error:
Error using classreg.regr.NonLinearFormula (line 225)
The model function must accept two arguments.
Error in NonLinearModel/createFormula (line 1643)
formula =
classreg.regr.NonLinearFormula(modelDef,coefNames,predictorVars,responseVar,varNames,ncoefs);
Error in NonLinearModel.fit (line 1397)
model.Formula =
NonLinearModel.createFormula(supplied,modelDef,X,ncoefs,coefNames,
...
Error in fitnlm (line 94)
model = NonLinearModel.fit(X,varargin{:});
Why do I get this error?
Thanks.
Best regards,
Pietro
0 Kommentare
Akzeptierte Antwort
Star Strider
am 16 Mai 2018
The function must express the model you are fitting in terms of a vector of parameters and the independent variable, with the parameter vector being the first argument, and the independent variable the second argument.
Ideally, your model would be something like:
modelfun = @(b,x) b(1) + b(2).*x.^2;
If you are estimating no parameters, it makes no sense to use any parameter estimation function.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Event Functions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!