ODE 45 Not enough input arguments
古いコメントを表示
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 件のコメント
James Tursa
2021 年 2 月 25 日
Where is the rest of your code? Where is the ode45( ) call?
Jan
2021 年 2 月 25 日
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
2021 年 2 月 25 日
Jan
2021 年 2 月 26 日
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.
回答 (1 件)
Jan
2021 年 2 月 25 日
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, ...)
カテゴリ
ヘルプ センター および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!