0

私は Matlab を初めて使用するので、この while ループを修正するために助けが必要です。while ループが機能しません。変数 Velocity2 が >= -20 になるまでループを継続したいのですが、コードの実行は停止しません。

機能

function [a] = acceleration(F,m,g) a=(F-m*g)/m;

function [v] = velocity(a,t,v0,t0) v=v0+a*(t-t0);

function [h] = height(a,t,h0,v0,t0) h=h0+v0*(t-t0)+(1/2)*a*(t-t0).^2;

コード

t0=0.15; % Initial time

dt=0.001; % Timesteps/Precision

v0=46.5285; % Initial velocity

h0=3.4896% Initial height

m=0.05; %Mass

g=9.81; % The gravitational constant

Velocity2=v0;

while Velocity2>=-20

 t=t0+dt;
 Velocity2=velocity(acceleration(0,m,g),t,v0,t0);
 Height2=height(acceleration(0,m,g),t,h0,v0,t0);

end
4

2 に答える 2

1

あなたはこれを必要とします:

t = t0

while Velocity2>=-20
    Velocity2=velocity(acceleration(0,m,g),t,v0,t0);
    Height2=height(acceleration(0,m,g),t,h0,v0,t0);

    t = t + dt;
end
于 2013-04-24T16:42:33.383 に答える