matlabでボール投げの軌跡をグラフにプロットしたいです。作ったプログラムに空気抵抗と跳ね返りの軌跡のプログラムを付け加えたいです。
空気抵抗の式として考えているのは
vx=vx-kvvxdt
vy=vy-gdt-kvvy*dt
のような式を考えています。
跳ね返る回数は4回としてy<0の時に、直前の速度vに跳ね返り係数eをかけて、vx,vyに分解する
コードは
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として考えてもらいたいです。
よろしくお願いします!
考えてみましたがわからないです。誰か助けてください!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/08/07 14:27
2020/08/07 14:39
退会済みユーザー
2020/08/08 06:29