LSQCURVEFIT gives this error: Not enough input arguments.

1 次查看(过去 30 天)
I have the following code in two separate .m file in the same folder running on Matlab 2015a:
function Test
I=[1 2 3 5; 2.1 2.9 3 4; 3 3 4.1 4; 5 3.5 5.2 6];
P=[1 2 3 4; 2 3 4 5; 4 5 6 7; 5 6 7 8];
x0=[2, 3]
x = lsqcurvefit(modelP,x0,I,P)
end
function [h]=modelP(x,I)
h=x(1)*I+x(2)*1.5
end
Running test it gives me the following error:
Error using modelP (line 2)
Not enough input arguments.
Error in Test (line 5)
x = lsqcurvefit(modelP,x0,I,P)
I cannot figure out why. Can someone help me, please?

采纳的回答

Vladimiro Boselli
Vladimiro Boselli 2017-11-6
I solved it calling the function as:
lsqcurvefit(@(x0, I) modelP(x0, I),x0,I,P)
This is not very clear in the documentation. Thanks anyway.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by