- ベストアンサー
バネマス系?の運動
ある運動する物体A(変位s0,速度v0,加速度a0)に、物体B(s1,v1,a1,質量M)が、バネ(バネ定数k)でつながっているとします。(但し、減衰等はなし) 物体Aが初速ゼロから走り始めた時の、物体Bの時系列の変化を求めたいのですが可能でしょうか。 最初に分かっているのは、物体(1)の各時間ごとのs,v,a(0.1秒刻みで0~10sec)、バネ定数、物体(2)の質量です。(物体Aの動きは、物体Bの影響を受けないものとします。) できればエクセルなどの表計算ソフト用いて解きたいと思っています。(VBAも可) いろいろ頑張ってみましたが全く分かりませんでした。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
バネを親指と人差し指の間に挟んで押して見ると、反発力は両端で同じですね。 バネが自由なときの長さを基準にして変位 x を測ると、バネの復元力は kx です。 ┃ k m 壁┠─バネ──● 外力なし ┃ 一般に『内力の総和は外力と等しい』ことから、上図の構成では (壁の反力)+(バネが壁を押す力)+(バネがmを押す力)+(質量m・加速度) = 0 です。壁がまったく動かない(変位=0)場合は、運動方程式(変位と時間の関係式)は右の二つだけで十分で、 kx + m(d2x/dt2) = 0 …(1) です。ちなみに mを距離1引っ張って離す(xの初期値=1)と解は x = cos(ωot)、 ωo= √(k/m) 固有振動数 です。 上記のことは基本なので お分かりと思いますが、、、 もし、「(1式)のような微方の数値解を得るプログラムを作成せよ」 ということなら、図書館やネットで数値積分を検索してください、豊富にあるし ヴォリューム的にここでは書き切れません。 そのような解法アルゴリズムができたとして、設問を盛り込む方法を書きます。設問では壁が動く、それも m や k や x に影響されずに動く、つまり、動き(変位)は時間だけの関数 ってことですね(*)。それを S と書きます。mの変位を x と書きます。S も x も基準をt=0のときとします。t=0でのバネの力=0とします。こうすると、 バネの左側が S、右側が x ゆえ、その間にあるバネの伸び縮みは x-S よってバネの復元力は k(x-S) (1)式のkxがこうなるゆえ、Sを移行して書くと kx + m(d2x/dt2) = kS …(2) です。 (*:プログラム的には S は数値テーブルなりで与えるだけの簡単な事だってことですね。) 参考までに(2)式の解は、S(t)が定常的な振動ωだとすると、ω=ωo なら振動がどんどん増して行く「共振」(想像できますか?やがてオーバーフローするということです。)、ω≠ωoだけなら「うなり」になります。 S(t) が細く鋭いスパイク状だったり 段差のような形の場合は固有振動ωoだけの振動になります。 このように多様な解なので、数式での説明はヴォリューム的に書き切れません。 余談ですが電気の方では(2)式は、x が電荷、k がコンデンサ、m がコイル、S が加える電圧に対応します。 物理的に深遠なことに立ち入らないのであれば、(2)式を数値計算する方法に集中して挑んでください。その上で生じた質問は(ここではレスが無かったことからして)その方面の経験者が居そうな別カテがいいのかもです。
その他の回答 (1)
- shkwta
- ベストアンサー率52% (966/1825)
この種の問題を解く低精度の簡易な方法として、2階中心差分を使う方法があります。 物体Bの質量をm, バネ定数をk, [物体Bの位置-バネの自然長]をy(t), 物体Aの位置をx(t) とするとき、運動の法則により ("は時間で2回微分することを表わす) y"(t)= (k/m)(x(t) - y(t)) [ア] ここで、y"(t) ≒ (y(t+h) + y(t-h) - 2y(t))/(h^2) [イ] と近似します。hはデータの時間間隔(ご質問の場合は、0.1秒)です。 y(t-h), y(t), x(t) が既知なら、[ア]でy"(t)を求め、[イ]によって、y(t+h)を算出することができます。つぎに、y(t+h)を使って、次の時刻での計算ができます。これを繰り返すと、各時刻でのy(t)が求められます。 初期値はy(-h)=0, y(0)=0, x(0)=0 として、出発すればよいでしょう。 ただし、x(t)の変化が激しいときは、精度が低くなると思われます。