Add constants in nlinfit
8 views (last 30 days)
Show older comments
Hi there,
is there a way that I provide nlinfit with some constants that are taken into account when solving a function?
So, for example, I use this code for nlinfit:
[xfit,resnorm, Jacob, CovB, MSE] = nlinfit( handles.timecorr,handles.datacorr',@DiffEqSolver300, B );
I would like to give another set of parameters to the function DiffEqSolver300 that should not be fitted, but they depend on calculations that happens before I call the nlinfit function. Is this somehow possible?
Just a simple example. Let's assume the function that should be fitted is
y = A*x + B;
Depending on some input parameters, A could be 1 or 10 or 100 and B is a fitting parameter. How can I tell the function which value A should have?
0 Comments
Accepted Answer
Star Strider
on 21 Dec 2017
Edited: Star Strider
on 21 Dec 2017
Writing your own objective function, you simply need to pass ‘A’ as a parameter.
Example —
objfcn = @(B,x,A) A*x + B;
then call it in nlinfit as:
beta = nlinfit(x, y, @(B,x) objfcn(B,x,A), ... );
so that ‘objfcn’ accepts ‘A’ as a parameter, and the function works with nlinfit as it would if no additional parameters were passed.
6 Comments
More Answers (0)
See Also
Categories
Find more on Interactive Control and Callbacks 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!