• ベストアンサー

エクセルでのシミュレーショングラフ

エクセルを用いて X=0 Y=0の位置から45度の角度で投げ上げ(初速度が等しいということ) X=10.168 のときY=0となるようなシミュレーションのグラフを書きたいのですが、書き方の概略を教えていただきたいです。 時間は0.001秒刻みで、初速度をソルバーか何かを用いて求めるのだと思うのですが、どこから求めたものかわかりません。 一応、投げあげる角度を問わない状態での放物線であれば作成できたのですが。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

2次の曲線ですから、3点を指定すればグラフが描けます。 内1点は射出点(0,0)、また1点は到達点(10.168,0)ですから、もう一点どこかテキトーな通過点を計算してグラフにします。 >シミュレーションのグラフを書きたい 添付図: B1に初速を生数字で記入する事にします(暫定的に100とでも記入しておきます) B2は投射角を生数字で記入することにします(とりあえず45と記入) B3に重力加速度を生数字で記入することにします 5行目にそれぞれ時刻、横速度(右を+)、縦速度(上が+)、Xの位置、Yの位置とします A6は生数字で時刻ゼロと記入します B6には =B1*COS(RADIANS(B2)) C6は =B1*SIN(RADIANS(B2)) D6、E6は初期位置としてそれぞれゼロを記入しておきます A7は暫定的に =A8/2 と入れておきます A8は、今回は簡易に(到達点がY=0すなわちVyt=-Vy0であることから) =2*C6/B3 としておきます B7に =$B$6 と記入、B8にコピー C7に =$C$6-$B$3*A7 として、C8にコピー D7に =$D$6+$B$6*A7 としてD8にコピー E7に =$E$6+$C$6*A7-$B$3*A7*A7/2 としてE8にコピー 以上でようやく「シミュレーション」の準備が整いましたので 手順: D8を選択 ご利用のエクセルのバージョンに応じた方法で「ゴールシーク」を開始  数式入力セル D8  目標値 10.168  変化させるセル B1 としてOKをクリック、条件に合致する初速度をエクセルに探させます。 グラフの描き方: D5:E8の3点から「散布図(マーカのみ)」を描画 プロットを右クリックして「近似曲線の追加」を開始 多項式近似にマーク、次数を2としてOKすると、なめらかな放物線を記入してくれます。

mizohagi
質問者

お礼

すごく丁寧に手順を並べて下さり、大変わかりやすかったです。 なめらかな放物線を記入する小技(?)まで添えて下さり、今後の参考にさせていただきます。 自分では何度やっても納得いく結果にならないどころか、 最初に作った(間違ってたけど)放物線より悪化した結果ばかりで。 正直嫌気がさしていたのですが、やっとすっきりしました。

その他の回答 (1)

回答No.1

力技での方法です。 初速度v(ベクトル)、時間t、重力加速度g=9.80065 とします。 x方向の速度=y方向の速度=v/√2。 t秒後のx、yは、それぞれ、 v/√2*t v/√2*t-g/2*t^2 となり、「x=10.168 のときy=0」という条件を当てはめると、 v/√2*t=10.168 ・・・ (1) v/√2*t-g/2*t^2=0 ・・・ (2) (1)を(2)に代入すると、 10.168=g/2*t^2 → t^2=20.336/g=2.075 よって、 t=1.44047 これを(1)に代入すると、 v=10.168/t*√2=10.168/1.44047*1.414214=9.98266 【エクセルの表の一例】 A1=(g=)9.80065、 A2=(v=)9.98266、 A3=sqrt(2)、 A4=A2/A3 B列はt(0.001秒刻み) C2に、=$A$4*B2 、 D2に =C2-$A$1/2*B2^2 (C列=x、D列=y) B、C、D列を1442行まで作成。 D列のデータを基に、グラフを作成。

mizohagi
質問者

お礼

スクリーンショットまでつけていただいてありがとうございます。 力技、と書かれてらっしゃる通り、ラベルやデータの整理にやや手間取りましたが、納得のいく結果が出せました。

関連するQ&A