Scilabで単振り子 その2 近似解との比較

Scilabで単振り子 その1 解析解との比較では微分方程式による物理現象のモデル化(PDF)の例題5として単振り子の運動の厳密解を常微分方程式ソルバ、解析解に対する数値積分の二つの方法で計算するScilabプログラムを作成しました。

今回は振幅θが小さいときのみ成り立つ近似(sinθ≒θ)を用いた近似解と前回常微分方程式ソルバで求めた厳密解を比較し、振幅θが大きいときには近似解の誤差が大きくなってしまうことを確認しました。
また、前回は保留とした、単振り子の微分方程式の導出も行いました。

001_20130720204050.png 002_20130720204050.png


厳密な方程式と近似式


Scilabで単振り子 その1 解析解との比較で書いたとおり、単振り子の運動を表す厳密な微分方程式は以下の式で表されます。

\frac{\mathrm{d}\theta}{\mathrm{d}t} = q
\frac{\mathrm{d}^2\theta}{\mathrm{d}t^2} = - \frac{g}{L}\sin\theta

(θ: 振れ角, t: 時間, q: 角速度, g: 重力加速度, L: 糸の長さ)

しかしながら、これも前回触れた事ですが、この式は解析解を求めても、初等関数のみで表すことが出来ないため結局数値積分が必要となります。そこで振幅が小さいと仮定して近似を用います。

\sin\theta \simeq \theta

したがって、小振幅のときの微分方程式は以下のように書くことが出来ます。

\frac{\mathrm{d}^2 \theta}{\mathrm{d}^2 t} = - \frac{g}{L}\theta

これらの微分方程式を常微分方程式ソルバodeを使って解くプログラムがpendulum2_sce.txtです。

(なお小振幅のときの解析解は単振り子・単振動など)

計算結果


以下に計算結果を示します。
小振幅のときは近似が成り立っていますが、大振幅では誤差が大きくなります。

001_20130720204050.png

Fig.1: θ0=0.1(小振幅)のときの解。厳密解(赤)と近似解(緑)は同じ結果を示す。

002_20130720204050.png

Fig.2: θ0=2.9(大振幅)のときの解。厳密解(赤)と近似解(緑)には大きな誤差が存在す


Appendix: 微分方程式の導出


以下の単振り子の微分方程式を導出します。

\frac{\mathrm{d}^2\theta}{\mathrm{d}t^2} = - \frac{g}{L}\sin\theta

001_20130720182725.png

Fig.3: 単振り子の問題設定


点Pにおける座標は

x = L\sin\theta, y = L\cos\theta

です。

運動方程式 ma = F を水平(x)方向と鉛直(y)方向のそれぞれについて立てます。

ma_x = F_x, ma_y = F_y

加速度は、位置の2回微分なので

a_x = \frac{\mathrm{d}^2 x}{\mathrm{d}t^2}, a_y = \frac{\mathrm{d}^2 y}{\mathrm{d}t^2}

まず

\frac{\mathrm{d}x}{\mathrm{d}t} = \frac{\mathrm{d}x}{\mathrm{d}\theta} \frac{\mathrm{d}\theta}{\mathrm{d}t} = L\cos\theta\frac{\mathrm{d}\theta}{\mathrm{d}t}

\frac{\mathrm{d}y}{\mathrm{d}t} = \frac{\mathrm{d}y}{\mathrm{d}\theta} \frac{\mathrm{d}\theta}{\mathrm{d}t} = - L\sin\theta\frac{\mathrm{d}\theta}{\mathrm{d}t}


次に(f \cdot g)' = f' \cdot g + f \cdot g'より

texclip20130720211659.png

\begin{eqnarray*}<br />\frac{\mathrm{d}^2 y}{\mathrm{d}t^2} & = & \frac{\mathrm{d}}{\mathrm{d}t}\left(-L\sin\frac{\mathrm{d}\theta}{\mathrm{d}t} \right) \\& = & \left(-\frac{\mathrm{d}}{\mathrm{d}t}L\sin\frac{\mathrm{d}\theta}{\mathrm{d}t} \right)\frac{\mathrm{d}\theta}{\mathrm{d}t}- L\sin\theta \left(\frac{\mathrm{d}^2 \theta}{\mathrm{d}t^2} \right) \\& = & - L\cos\theta \left(\frac{\mathrm{d}\theta}{\mathrm{d}t} \right)^2 - L\sin \theta \frac{\mathrm{d}^2 \theta}{\mathrm{d}t^2}\end{eqnarray*}

同様に力も水平(x)方向と鉛直(y)方向両方に関して

F_x = S_x = -S\sin\theta

F_y = mg + S_y = mg - S\cos\theta

よって、運動方程式は

\begin{eqnarray}<br />mL\left\{\cos\theta\frac{\mathrm{d}^2\theta}{\mathrm{d}t^2}-\sin\theta\left(\frac{\mathrm{d}\theta}{\mathrm{d}t}\right)^2\right\} &=& -S\sin\theta\\-mL\left\{\sin\theta\frac{\mathrm{d}^2\theta}{\mathrm{d}t^2}+\cos\theta\left(\frac{\mathrm{d}\theta}{\mathrm{d}t}\right)^2\right\} &=& mg -S\cos\theta<br />\end{eqnarray}

(1)×cosθ-(2)×sinθより

mL\frac{\mathrm{d}^2 \theta}{\mathrm{d}t^2}(\sin^2\theta + \cos^2\theta) = -mg\sin\theta

sin2θ+cos2θ=1なので

\frac{\mathrm{d}^2\theta}{\mathrm{d}t^2} = - \frac{g}{L}\sin\theta


関連エントリ




参考URL




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。


tag: Scilab 常微分方程式 ode 単振り子 

comment

Secret

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性OPアンプPICCPA常微分方程式モンテカルロ解析ecaljodeトランジスタ状態密度インターフェースDOS定電流スイッチング回路PDS5022半導体シェルスクリプトレベルシフト乱数HP6632AR6452AI2C可変抵抗分散関係トランジスタ技術ブレッドボード温度解析反強磁性確率論バンドギャップセミナー数値積分熱設計非線形方程式ソルババンド構造絶縁偏微分方程式ISO-I2CLM358フォトカプラ三端子レギュレータカオスLEDシュミットトリガGW近似A/Dコンバータ発振回路PC817C直流動作点解析USBマフィンティン半径数値微分アナログスイッチTL43174HC4053カレントミラーサーボ量子力学単振り子チョッパアンプ補間2ちゃんねる開発環境bzqltyFFT電子負荷LDAイジング模型BSch基本並進ベクトルブラべ格子パラメトリック解析標準ロジックアセンブラ繰り返し六方最密充填構造SMPコバルトewidthFET仮想結晶近似QSGW不規則合金VCAMaximaGGA熱伝導cygwinスレーターポーリング曲線キュリー温度スイッチト・キャパシタ失敗談ランダムウォークgfortran抵抗相対論位相図スピン軌道相互作用VESTA状態方程式TLP621ラプラス方程式TLP552条件分岐NE555LM555TLP521マントル詰め回路MCUテスタFXA-7020ZR三角波過渡解析ガイガー管自動計測QNAPUPSWriter509ダイヤモンドデータロガー格子比熱熱力学awkブラウン運動起電力スーパーセル差し込みグラフ第一原理計算フェルミ面fsolve最大値xcrysden最小値最適化ubuntu平均場近似OpenMP井戸型ポテンシャルシュレディンガー方程式固有値問題2SC1815結晶磁気異方性OPA2277非線型方程式ソルバTeXgnuplot固定スピンモーメントFSMPGAc/a全エネルギーfccフラクタルマンデルブロ集合正規分布縮退初期値interp1multiplotフィルタ面心立方構造ウィグナーザイツ胞L10構造半金属二相共存SICZnOウルツ鉱構造BaO重積分クーロン散乱磁気モーメント電荷密度化学反応CIF岩塩構造CapSenseノコギリ波デバイ模型ハーフメタルキーボードフォノンquantumESPRESSOルチル構造スワップ領域リジッドバンド模型edelt合金等高線線種凡例シンボルトラックボールPC軸ラベルグラフの分割トランス文字列CK1026MAS830L直流解析Excel不規則局所モーメントパラメータ・モデル入出力日本語最小二乗法等価回路モデルヒストグラムGimp円周率TS-110TS-112PIC16F785LMC662三次元specx.fifortUbuntu疎行列不純物問題Realforceジバニャン方程式ヒストグラム確率論マテリアルデザインP-10境界条件連立一次方程式熱拡散方程式AACircuitHiLAPW両対数グラフ片対数グラフ陰解法MBEナイキスト線図負帰還安定性Crank-Nicolson法EAGLE関数フィッティング

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ