why am I getting this error?
Mostrar comentarios más antiguos
%the error
Not enough input arguments.
Error in Exam2>odefun (line 92)
f=[0 ; (2*f0-f0.*heaviside(t,t1)-2*f0.*heaviside(t,t2))];
Error in Exam2 (line 65)
[t,x]=ode45(odefun,tspan,IC);
%my ode45 call
IC=[x0 v0];
tspan=0:dt:tf;
[t,x]=ode45(odefun,tspan,IC);
%my function
function xdot=odefun(t,x)
global f0 wn t1 t2
A=[0 1 ; -wn^2 0];
f=[0 ; (2*f0-f0.*heaviside(t,t1)-2*f0.*heaviside(t,t2))];
xdot=A*x+f;
end
Respuesta aceptada
Más respuestas (1)
Cris LaPierre
el 6 de Nov. de 2020
0 votos
Have you created your own heaviside function? The one created by MathWorks only accepts a single input. The one you are using has 2, and apparently expects more.
1 comentario
Michael Abend
el 6 de Nov. de 2020
Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!