MATLAB: Not enough input arguments

functioninput

I've seen this question asked before but don't understand the answers provided.
I am running the following code:
function F = Fexample1(t, y)
% check the size of y
n = length(y);
if n ~= 2, error('invalid size of y'); end
F1 = 0.25*y(1) - 0.002*y(1)^2 - 0.005*y(1)*y(2)
F2 = 0.05*y(2) - 0.009*y(2)^2 - 0.005*y(1)*y(2)
F = [F1, F2];
[Y, t] = ODEsolver_eulerND('Fexample1', [0 1], 0, 1, 11);
I get this error:
Not enough input arguments. Error in final (line 4) n = length(y);
Any advice?

Best Answer

function [Y, t] = final
[Y, t] = ODEsolver_eulerND(@Fexample1, [0 1], 0, 1, 11);
function F = Fexample1(t, y)
% check the size of y
n = length(y);
if n ~= 2, error('invalid size of y'); end
F1 = 0.25*y(1) - 0.002*y(1)^2 - 0.005*y(1)*y(2)
F2 = 0.05*y(2) - 0.009*y(2)^2 - 0.005*y(1)*y(2)
F = [F1; F2];
Note: I changed the F = [F1, F2]; to F = [F1; F2]; for consistency with the Mathworks ode*() routines. Using a column vector there will allow you to check your results using ode45()