lsqnonlin -not enough input arguments-

Hi all!
I need some help with lsqnonlin. The function is:
function [y] = FUN(p,t)
k1 = p(1);
k2 = p(2);
y=(exp(-k1*t)-exp(-k2*t))*((k1*k2)/(k2-k1));
And:
[p_stima] = lsqnonlin(@FUN,[0.4 0.5],[]);
The error is:
Not enough input arguments.
Error in FUN (line 4)
y=(exp(-k1*t)-exp(-k2*t))*((k1*k2)/(k2-k1));
Error in lsqnonlin (line 196)
initVals.F = feval(funfcn{3},xCurrent,varargin{:});
Error in plotHistFit (line 88)
[p_stima] = lsqnonlin(@FUN,[0.4 0.5],[]);
Caused by:
Failure in initial objective function evaluation. LSQNONLIN cannot continue
Thank you in advance.
Best regards

답변 (1개)

Torsten
Torsten 2016년 5월 4일

1 개 추천

Your FUN function must only have one argument, namely p.
Best wishes
Torsten.

댓글 수: 1

Matt J
Matt J 2016년 5월 4일
편집: Matt J 2016년 5월 4일
Therefore, the following modification could solve the issue,
t=???;
[p_stima] = lsqnonlin(@(p) FUN(p,t) , [0.4 0.5],[]);

댓글을 달려면 로그인하십시오.

태그

질문:

2016년 5월 4일

편집:

2016년 5월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by