ODE 45 Not enough input arguments
Mostrar comentarios más antiguos
It says i don't have enough input agruments in line 3 of the function section and I dont know what is wrong
global m c k Omega f0
k=2000; % N/m
m=5; %kg
c=20; %kg/s
dt=0.005;
f0=37.5;
Omega= 25;
t=0:dt:5;
x0=[0 0];
function rl=f(t,y)
global m c k Omega f0
f=f0*sin(2*pi*Omega*t);
rl=[y(1); f/m-(c*y(1))/m-k*y(2)/(4*m)];
end
4 comentarios
James Tursa
el 25 de Feb. de 2021
Where is the rest of your code? Where is the ode45( ) call?
Jan
el 25 de Feb. de 2021
The cause of the problem would be clear, if you post the complete code including the call to ODE45 and a copy of the complete error message.
Mauricio San Román Caraza
el 25 de Feb. de 2021
Jan
el 26 de Feb. de 2021
As far as I understand, your problem is solved. But it may help to improve future questions: You have still not posted a complete copy of the error message, but just the part, which explains where the problem occurred.
Respuestas (1)
Jan
el 25 de Feb. de 2021
We cannot see it, because you have not posted the complete code. But this has been the reason in many other questions in this forum:
[t, y] = ode45(rl, ...)
This calls rl without inputs. You want to provide the handle of the function instead:
[t, y] = ode45(@rl, ...)
Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!