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カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCOPアンプPICCPA強磁性モンテカルロ解析常微分方程式トランジスタode状態密度インターフェースDOSPDS5022ecaljスイッチング回路定電流半導体シェルスクリプトレベルシフト乱数HP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

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