ln not recognised as a command
Ältere Kommentare anzeigen
Hello
I've entered the following formula in a function file:
heightModel = @(params,ages) (params(3)+params(4).*(ages/12)+params(5).*log((1+(ages/12))).*(1-exp(1).^(-exp(1).^(params(1)-params(2).*(ages/12))))+params(6).*exp(1).^(-exp(1).^(params(1)-params(2).*(ages/12)))); modelStrings = {'A','B','C','D','E','U'};
this works perfect but is not the good formula. The only thing that needs to change is the log in a ln
but if i do this i get the following error Undefined function 'ln' for input arguments of type 'double'.
Error in getModel/@(params,ages)(params(3)+params(4).*(ages/12)+params(5).*ln((1+(ages/12))).*(1-exp(1).^(-exp(1).^(params(1)-params(2).*(ages/12))))+params(6).*exp(1).^(-exp(1).^(params(1)-params(2).*(ages/12))))
Error in lsqcurvefit (line 199) initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});
Error in fitFilteredModel (line 13) [parameters,resnorm,residual,exitflag,output] = lsqcurvefit(heightModel,initialValues,filteredData(:,1),filteredData(:,2));
Error in main (line 43) fitFilteredModel(ages(i),models{k},genders{j},data,individualFit);
Caused by: Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.
Anyone willing to help me out. I'm a biologist so my coding knowledge is very limited.
Thanks
Akzeptierte Antwort
Weitere Antworten (1)
help log
If you read the help file for log, you'll see that it is the natural logarithm function. ln is not a built-in function. log10 is the function for computing the base-10 logarithm.
Kategorien
Mehr zu Genetic Algorithm finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!