matlabでボール投げの軌跡をグラフにプロットしたいです。作ったプログラムに空気抵抗と跳ね返りの軌跡のプログラムを付け加えたいです。
空気抵抗の式として考えているのは
vx=vx-kvvxdt
vy=vy-gdt-kvvy*dt
のような式を考えています。
コードは
function ball1
% ボール投げの軌跡
% v0: 初速度
% ang: 投げ上げの角度(度)
v0=5
g = 9.8; % 重力加速度
dt = 0.05; % 時間の刻み幅
ang=10
e=0.8
s = angpi/180; % ラジアンに変換
% 位置の初期値
x = 0;
y = 0;
% 速度の分解
vx0 = v0cos(s);
vy0 = v0*sin(s);
% 初期値を図に描く.タイトルやラベルも付ける
plot(x,y,'bo')
title('Air resistant ball throw')
xlabel('x'), ylabel('y')
hold on % 軌跡を残す
% 速度の初期値
vx = vx0;
vy = vy0;
while y >=0 % 空中にいる間は継続
x = x + vxdt; % x方向の位置変化
y = y + vydt; % y方向の位置変化
vy = vy - g*dt; % y方向の速度変化
plot(x,y,'bo')
pause(0.1) % 表示のために0.1秒止める
end
hold off
コードはここまでできており跳ね返り係数e=0.85として考えてもらいたいです。
よろしくお願いします!
あなたの回答
tips
プレビュー