nlinfit function, not enough input arguments
이전 댓글 표시
Dear All,
I am trying estimate 15 parameters using the following function: Parameters are x(1), x(2) ..... x(15)
function F = myfun(x,y,X)
F=(y - (1 + x(1)*(x(2)/0.0025662))*X(:,1) - (x(2)/x(3))*(sqrt(1-x(1)^2))*X(:,2) ...
- x( 4)*X(:, 3) - x(5)*X(:, 4)) - x( 6)*X(:, 5) - x( 7)*X(:, 6) - x(8)*X(:,7) ...
- x( 9)*X(:, 8) - x(10)*X(:, 9) - x(11)*X(:,10) - x(12)*X(:,11) ...
- x(13)*X(:,12) - x(14)*X(:,13) - x(15)*X(:,14);
end
X is a matrix with 18026 rows and 14 columns y is the dependent variable with 18026 rows and 1 column
I have 15 parameters to estimate and their starting values are defined by xstart (1 row by 15 columns)
When I specify x = nlinfit(X,y,myfun,xstart) in Matlab
I get the following error: Not enough input arguments.
Could you help and let me know how to change the specification?
best, Srinivasan
채택된 답변
추가 답변 (3개)
x = nlinfit(X,y,myfun,xstart)
Is passing the function as an argument instead of the function handle; hence it's missing its argument list which is what is generating the error for lack of inputs.
x = nlinfit(X,y,@myfun,xstart); % NB the ampersand...
Srinivasan Rangan
2018년 8월 11일
카테고리
도움말 센터 및 File Exchange에서 Correlation Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!