質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Q&A

1回答

1887閲覧

matlab ボール投げの軌跡について

退会済みユーザー

退会済みユーザー

総合スコア0

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

0グッド

0クリップ

投稿2020/08/06 10:15

matlabでボール投げの軌跡をグラフにプロットしたいです。作ったプログラムに空気抵抗と跳ね返りの軌跡のプログラムを付け加えたいです。
空気抵抗の式として考えているのは
vx=vx-kvvxdt
vy=vy-g
dt-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 = v0
cos(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 + vy
dt; % y方向の位置変化
vy = vy - g*dt; % y方向の速度変化
plot(x,y,'bo')
pause(0.1) % 表示のために0.1秒止める

end
hold off
コードはここまでできており跳ね返り係数e=0.85として考えてもらいたいです。
よろしくお願いします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

同じ質問を連投するのはやめましょうね

投稿2020/08/06 12:17

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問