LSQCURVEFIT gives this error: Not enough input arguments.

1 view (last 30 days)
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?

Accepted Answer

Vladimiro Boselli
Vladimiro Boselli on 6 Nov 2017
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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!