Not enough input arguments in function? Help!!
7 views (last 30 days)
Show older comments
I have the function
function z = funct(t,S)
z = 0.4*S-((0.4*S.^2)./10);
and
function euler(func,S0,dt,t0,tf)
% Time interval
t=t0:dt:tf;
% Loop using Euler's method
for i = 1:length(t)-1
S(i+1) = S(i) + dt*(feval(func,t(i),S(i)));
end
t=t'
S=S'
plot(t,N)
xlabel('Time')
ylabel ('S')
when I type this into command window
euler(funct,7,.001,0,25)
I get this error
Not enough input arguments.
Error in funct (line 2)
z = 0.4*S-((0.4*S.^2)./10);
PLEASE HELP!!!!-
1 Comment
jgg
on 22 Feb 2016
Edited: jgg
on 22 Feb 2016
Are you sure you posted all your code? I can't replicate your error: I get that S is undefined in Euler, since you never declare it anywhere. If I correct it so S = S0 (to start) I then get another error about N.
Also I notice that funct doesn't use t at all.
Answers (1)
Walter Roberson
on 22 Feb 2016
Don't type that into the command window. Instead type
euler(@funct,7,.001,0,25)
0 Comments
See Also
Categories
Find more on Animation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!