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強磁性CPAPICOPアンプecalj常微分方程式モンテカルロ解析状態密度トランジスタodeDOSインターフェース定電流スイッチング回路PDS5022半導体シェルスクリプト分散関係レベルシフト乱数HP6632AR6452A可変抵抗トランジスタ技術温度解析ブレッドボードI2C反強磁性確率論数値積分セミナーバンドギャップバンド構造偏微分方程式非線形方程式ソルバ熱設計絶縁ISO-I2Cカオス三端子レギュレータLM358GW近似マフィンティン半径A/DコンバータフォトカプラシュミットトリガLEDPC817C発振回路数値微分直流動作点解析サーボカレントミラーTL431アナログスイッチUSB74HC4053bzqltyVESTA補間電子負荷アセンブライジング模型BSch量子力学単振り子2ちゃんねるチョッパアンプLDA開発環境基本並進ベクトルFFT標準ロジックブラべ格子パラメトリック解析抵抗SMPMaxima失敗談ラプラス方程式繰り返し位相図スイッチト・キャパシタ熱伝導状態方程式キュリー温度gfortranコバルトTLP621不規則合金Quantum_ESPRESSO六方最密充填構造ランダムウォーク相対論ewidthスピン軌道相互作用FETQSGWVCAcygwinスレーターポーリング曲線GGA仮想結晶近似PWscfシュレディンガー方程式LM555ハーフメタル固有値問題NE555最小値ガイガー管QNAPUPS自動計測ダイヤモンドマントルTLP552格子比熱最適化MCU井戸型ポテンシャル最大値xcrysdenCIF条件分岐詰め回路フェルミ面差し込みグラフスーパーセルfsolveブラウン運動awk過渡解析起電力三角波第一原理計算FXA-7020ZRWriter509Ubuntuテスタ熱力学データロガーTLP521OpenMPubuntu平均場近似MAS830LトランスCK1026PIC16F785PGA2SC1815EAGLEノコギリ波負帰還安定性ナイキスト線図MBEOPA2277P-10フィルタCapSenseAACircuitLMC662文字列固定スピンモーメントFSMTeX結晶磁気異方性全エネルギーc/a合金multiplotgnuplot非線型方程式ソルバL10構造正規分布等高線ジバニャン方程式初期値interp1fcc面心立方構造ウィグナーザイツ胞半金属デバイ模型電荷密度重積分SIC二相共存磁気モーメント不純物問題PWgui擬ポテンシャルゼーベック係数ZnOウルツ鉱構造edeltquantumESPRESSOフォノンリジッドバンド模型スワップ領域BaO岩塩構造ルチル構造ヒストグラム確率論マテリアルデザインフラクタルマンデルブロ集合キーボードRealforceクーロン散乱三次元疎行列縮退化学反応関数フィッティング最小二乗法Excel直流解析PCTS-110TS-112日本語パラメータ・モデル等価回路モデルcif2cell入出力陰解法熱拡散方程式HiLAPW両対数グラフCrank-Nicolson法連立一次方程式specx.fifort境界条件片対数グラフグラフの分割円周率ヒストグラム不規則局所モーメントGimpシンボル軸ラベル凡例線種トラックボール

最新コメント
リンク

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