主要内容GydF4y2Ba

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。GydF4y2Ba

振子の周期的揺れの動きのシミュレーションGydF4y2Ba

この例では符号数学工具箱™を使用して単純な振子の動きをモデル化する方法を示します。振子の運動方程式を導出し,その方程式を小角について解析的に解き,任意の角度について数値的に解きます。GydF4y2Ba

手顺1:驾驶方程式の导出GydF4y2Ba

振子は,微分方程式に従う単純な機械的システムです。振子は,初期状態では垂直位置で停止しています。振子がある角度GydF4y2Ba θGydF4y2Ba だけ动かされ放れると,重力によりその位置引っ张られます。その运张られます。GydF4y2Ba -GydF4y2Ba θGydF4y2Ba に達し(摩擦力がない場合),これを繰り返します。重力による振子の動きに伴う復元力はGydF4y2Ba -GydF4y2Ba M.GydF4y2Ba GGydF4y2Ba 罪GydF4y2Ba θGydF4y2Ba です。したがって,ニュートンの第2法則に従って,質量と加速度の積はGydF4y2Ba -GydF4y2Ba M.GydF4y2Ba GGydF4y2Ba 罪GydF4y2Ba θGydF4y2Ba に等しくなければなりません。GydF4y2Ba

信谊GydF4y2BaM.GydF4y2Ba一种GydF4y2BaGGydF4y2Baθ(t)GydF4y2Baeqn = m * a == -m * g * sin(theta)GydF4y2Ba
eqn (t) =GydF4y2Ba
                 
                  
                   
                    
                     
                      
                       
                        一种GydF4y2Ba
                       
                       
                       
                        M.GydF4y2Ba
                      
                     
                     
                      =GydF4y2Ba
                     
                      
                       
                        -GydF4y2Ba
                       
                        
                         
                          GGydF4y2Ba
                         
                         
                         
                          M.GydF4y2Ba
                         
                         
                         
                          
                           
                            罪GydF4y2Ba
                          
                          
                           
                            (GydF4y2Ba
                           
                            
                             
                              
                               
                                θGydF4y2Ba
                              
                              
                               
                                (GydF4y2Ba
                               
                                
                                 
                                  T.GydF4y2Ba
                                
                               
                               
                                的)GydF4y2Ba
                              
                             
                            
                           
                           
                            的)GydF4y2Ba
                          
                         
                        
                       
                      
                     
                    
                   
                   
                    a * m == -g * m * sin(theta(t))GydF4y2Ba
                  
                 

长さがGydF4y2Ba R.GydF4y2Ba のの子では,振子の重りの加入度角加速度にGydF4y2Ba R.GydF4y2Ba を乗じたものです。GydF4y2Ba

一种GydF4y2Ba =GydF4y2Ba R.GydF4y2Ba D.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba 2GydF4y2Ba 。GydF4y2Ba

subsGydF4y2BaをGydF4y2Ba 一种GydF4y2Ba の代わりに使用します。GydF4y2Ba

信谊GydF4y2BaR.GydF4y2BaEQN =潜艇(EQN,A,R * Diff(Theta,2))GydF4y2Ba
eqn (t) =GydF4y2Ba

M.GydF4y2Ba R.GydF4y2Ba ∂GydF4y2Ba 2GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba M.GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba m * r * diff(θ(t),t,2)== -g * m * sin(theta(t))GydF4y2Ba

隔离GydF4y2Baを使用してGydF4y2BaEQN.GydF4y2Ba内の角加速度を分离します。GydF4y2Ba

EQN =孤立(EQN,Diff(Theta,2))GydF4y2Ba
EQN =GydF4y2Ba

∂GydF4y2Ba 2GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba R.GydF4y2Ba Diff (t, t, 2) = -(g*sin(t))/rGydF4y2Ba

定GydF4y2Ba GGydF4y2Ba およびGydF4y2Ba R.GydF4y2Ba を“没有动力学数量”GydF4y2Baとしても知られる単一のパラメーターにまとめます。GydF4y2Ba

ωGydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba GGydF4y2Ba R.GydF4y2Ba 。GydF4y2Ba

信谊GydF4y2Baomega_0GydF4y2BaEQN =子(EQN,G / R,OMEGA_0 ^ 2)GydF4y2Ba
EQN =GydF4y2Ba

∂GydF4y2Ba 2GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba -GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba 2GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 差异(θ(t),t,2)== -omga_0 ^ 2 * sin(θ(t))GydF4y2Ba

手顺2:动动方程式式形线形GydF4y2Ba

この運動方程式は非線形であるため解析的な求解が困難です。角度が小さいと仮定して,GydF4y2Ba 罪GydF4y2Ba θGydF4y2Ba のの开をををししし式を形形ますます。GydF4y2Ba

信谊GydF4y2BaXGydF4y2Ba大约=泰勒(SIN(x),x,GydF4y2Ba'命令'GydF4y2Ba,2);大约=子(约,x,theta(t))GydF4y2Ba
约=GydF4y2Ba
                 
                  
                   
                    
                     
                      θGydF4y2Ba
                    
                    
                     
                      (GydF4y2Ba
                     
                      
                       
                        T.GydF4y2Ba
                      
                     
                     
                      的)GydF4y2Ba
                    
                   
                   
                    θ(t)GydF4y2Ba
                  
                 

动力方程式式式形形式になります。GydF4y2Ba

EQNLINEAR =潜艇(EQN,SIN(THETA(T)),约)GydF4y2Ba
eqnLinear =GydF4y2Ba

∂GydF4y2Ba 2GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba -GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba 2GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba Diff (t, t, 2) = - 0^2* (t)GydF4y2Ba

手順3:運動方程式の解析的な求解GydF4y2Ba

方程式GydF4y2Baeqnlinear.GydF4y2BaをGydF4y2BadsolveGydF4y2Baをを使てますます。GydF4y2Ba假设GydF4y2Baを使用してGydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba が実数であると仮定して,解を単纯化します。GydF4y2Ba

信谊GydF4y2BaTheta_0.GydF4y2Batheta_t0.GydF4y2Batheta_t = diff(θ);Cond = [theta(0) == theta_0, theta_t(0) == theta_t0];假设(omega_0GydF4y2Ba“真实”的GydF4y2Ba)Thetasol(t)= dsolve(eqnlinear,cond)GydF4y2Ba
thetaSol (t) =GydF4y2Ba

θGydF4y2Ba 0.GydF4y2Ba cosGydF4y2Ba (GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba +GydF4y2Ba θGydF4y2Ba T0.GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba THETA_0 * COS(OMEGA_0 * T)+(THETA_T0 * SIN(OMEGA_0 * T))/ OMEGA_0GydF4y2Ba

手順 4:GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba の物理的意味GydF4y2Ba

项GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba T.GydF4y2Ba は”,位相”GydF4y2Baと呼ばれます。余弦関数と正弦関数は,GydF4y2Ba 2GydF4y2Ba πGydF4y2Ba ごとに缲り返します。GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba T.GydF4y2Ba をGydF4y2Ba 2GydF4y2Ba πGydF4y2Ba だけ変化させるのに必要な时间は时间周期と呼ばれます。GydF4y2Ba

T.GydF4y2Ba =GydF4y2Ba 2GydF4y2Ba πGydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba 2GydF4y2Ba πGydF4y2Ba R.GydF4y2Ba GGydF4y2Ba 。GydF4y2Ba

時間周期GydF4y2Ba T.GydF4y2Ba はは子の长の平方英に比例し,空间には依存ませ。GydF4y2Ba

手顺5:振子运动のプロットGydF4y2Ba

小角近似における振子の运动词をします。GydF4y2Ba

物理パラメーターを定義します。GydF4y2Ba

  • 重力加速度GydF4y2Ba GGydF4y2Ba =GydF4y2Ba 9.GydF4y2Ba 。GydF4y2Ba 8.GydF4y2Ba 1GydF4y2Ba 米/秒GydF4y2Ba 2GydF4y2Ba

  • 振子の長さGydF4y2Ba R.GydF4y2Ba =GydF4y2Ba 1GydF4y2Ba M.GydF4y2Ba

gValue = 9.81;右值= 1;omega_0Value =√gValue /右值);T = 2 *π/ omega_0Value;GydF4y2Ba

寿命条件を设定ます。GydF4y2Ba

theta_0value = 0.1 * pi;GydF4y2Ba%解只对小角度有效。GydF4y2Batheta_t0value = 0;GydF4y2Ba最初是静止的。GydF4y2Ba

物理パラメーターおよび初期条件を一般解に代入します。GydF4y2Ba

vars = [omega_0 theta_0 theta_t0];值= [omega_0value theta_0value theta_t0value];ThetasoLplot = summ(thetasol,var,值);GydF4y2Ba

调和振子运动をプロットします。GydF4y2Ba

fplot(Thetasolplot(t * t)/ pi,[0 5]);网格GydF4y2Ba在GydF4y2Ba;标题(GydF4y2Ba'谐波摆动运动'GydF4y2Ba);Xlabel(GydF4y2Ba't / t'GydF4y2Ba);ylabel(GydF4y2Ba'\ theta / \ pi'GydF4y2Ba);GydF4y2Ba

图中包含一个坐标轴。带有标题谐波摆动运动的轴包含型号的对象。GydF4y2Ba

θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba の解を求めた後,振子の運動を可視化します。GydF4y2Ba

X_POS = SIN(THETASOLPLOT);y_pos = -cos(thetasolplot);Fanimator(@ fplot,X_POS,Y_POS,GydF4y2Ba'ko'GydF4y2Ba那GydF4y2Ba'markerfacecolor'GydF4y2Ba那GydF4y2Ba“k”GydF4y2Ba那GydF4y2Ba'AnimationRange'GydF4y2Ba,[0 5 * T]);抓住GydF4y2Ba在GydF4y2Ba;Fanimator(@(t)绘图([0 x_pos(t)],[0y_pos(t)],GydF4y2Ba'k-'GydF4y2Ba),GydF4y2Ba'AnimationRange'GydF4y2Ba,[0 5 * T]);Fanimator(@(t)文字(-0.3,0.3,GydF4y2Ba计时器:“GydF4y2Ba+ num2str(t,2)+GydF4y2Ba“s”GydF4y2Ba),GydF4y2Ba'AnimationRange'GydF4y2Ba,[0 5 * T]);GydF4y2Ba

图中包含一个坐标轴。轴包含3型对象的参数化功能线,行,文本。GydF4y2Ba

コマンドGydF4y2BaPlayAnimation.GydF4y2Baを入力して振子運動のアニメーションを再生します。GydF4y2Ba

手顺6:定エネルギー轨道を使使用しし非形振子运动の判别GydF4y2Ba

振子ののは,全全のてれをして保存さます。GydF4y2Ba

E.GydF4y2Ba =GydF4y2Ba 1GydF4y2Ba 2GydF4y2Ba M.GydF4y2Ba R.GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba D.GydF4y2Ba θGydF4y2Ba DT.GydF4y2Ba 的)GydF4y2Ba 2GydF4y2Ba +GydF4y2Ba M.GydF4y2Ba GGydF4y2Ba R.GydF4y2Ba (GydF4y2Ba 1GydF4y2Ba -GydF4y2Ba cosGydF4y2Ba θGydF4y2Ba 的)GydF4y2Ba

三角恒等式GydF4y2Ba 1GydF4y2Ba -GydF4y2Ba cosGydF4y2Ba θGydF4y2Ba =GydF4y2Ba 2GydF4y2Ba 罪GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba θGydF4y2Ba /GydF4y2Ba 2GydF4y2Ba 的)GydF4y2Ba および关键词GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba GGydF4y2Ba /GydF4y2Ba R.GydF4y2Ba をを用して,スケーリングスケーリングされたエネルギーエネルギーをき换えき换えGydF4y2Ba

E.GydF4y2Ba M.GydF4y2Ba R.GydF4y2Ba 2GydF4y2Ba =GydF4y2Ba 1GydF4y2Ba 2GydF4y2Ba [GydF4y2Ba (GydF4y2Ba D.GydF4y2Ba θGydF4y2Ba DT.GydF4y2Ba 的)GydF4y2Ba 2GydF4y2Ba +GydF4y2Ba (GydF4y2Ba 2GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba 罪GydF4y2Ba θGydF4y2Ba 2GydF4y2Ba 的)GydF4y2Ba 2GydF4y2Ba ]GydF4y2Ba

エネルギーは保存される,振子のののは位相空の定轨道によって记述ますます。GydF4y2Ba θGydF4y2Ba およびGydF4y2Ba D.GydF4y2Ba θGydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba をもつ抽象空间です。これらの轨道をGydF4y2BafcontourGydF4y2Baを使用して可視化します。GydF4y2Ba

信谊GydF4y2Baθ.GydF4y2Batheta_t.GydF4y2Baomega_0GydF4y2BaE(θ,theta_t omega_0) = (1/2) * (theta_t ^ 2 + (2 * omega_0 * sin(θ/ 2))^ 2);Eplot(theta, theta_t) = sub (E,omega_0,omega_0Value);图;= fcontour(Eplot(pi*theta, 2*omega_0Value*theta_t), 2*[-1 1 -1],GydF4y2Ba...GydF4y2Ba“线宽”GydF4y2Ba2,GydF4y2Ba'左边是'GydF4y2Ba,0:5:50,GydF4y2Ba'网格长度'GydF4y2Ba1 + 2 ^ 8);网格GydF4y2Ba在GydF4y2Ba;标题(GydF4y2Ba“阶段空间中的恒定能量轮廓(\ theta vs. \ theta_t)”GydF4y2Ba);Xlabel(GydF4y2Ba'\ theta / \ pi'GydF4y2Ba);ylabel(GydF4y2Ba“\ theta_t / 2 \ omega_0”GydF4y2Ba);GydF4y2Ba

图中包含一个坐标轴。具有标题恒定能量轮廓的轴(\ theta \ \ theta_t)包含QuoteContour类型的对象。GydF4y2Ba

一定エネルギーの高线はGydF4y2Ba θGydF4y2Ba 轴およびGydF4y2Ba D.GydF4y2Ba θGydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba 轴に対して対称であり,GydF4y2Ba θGydF4y2Ba 轴に沿って周期的です0.2つの动作领域を図に示します。GydF4y2Ba

等高线図ののエネルギーは自身になり振振振はますの最大大角最子ののので揺れ。ことはできません。GydF4y2Ba

等高線図の上側のエネルギーは自身に近づきません。振子は常に1つの角度方向で運動します。振子の運動エネルギーは重力エネルギーに打ち勝つのに十分であり,振子を完全に回転させることができます。GydF4y2Ba

手顺7:非线形动机方程式式のGydF4y2Ba

非線形運動方程式は,2階微分方程式です。GydF4y2BaODE45.GydF4y2Baソルバーを使用して,これらの方程式を数値的に解きます。GydF4y2BaODE45.GydF4y2Baは1次の系だけを受け入れるため,系を1次の系に簡約します。次に,GydF4y2BaODE45.GydF4y2Baへのの力と关联数目を生成します。GydF4y2Ba

2阶odeを1阶ode系系书架。GydF4y2Ba

信谊GydF4y2Baθ(t)GydF4y2Batheta_t(t)GydF4y2Baomega_0GydF4y2Baeqs = [diff(theta)== theta_t;diff(theta_t)== -omega_0 ^ 2 * sin(θ)]GydF4y2Ba
eqs(t)=GydF4y2Ba

(GydF4y2Ba ∂GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba ∂GydF4y2Ba ∂GydF4y2Ba T.GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba =GydF4y2Ba -GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba 2GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba [diff(theta(t), t) == ta_t(t);Diff (t (t), t) = - 0^2*sin(t)GydF4y2Ba

方程式=潜艇(方程式,omega_0 omega_0Value);var = [theta, theta_t];GydF4y2Ba

系の送量行程GydF4y2BaM.GydF4y2Baおよび方程式GydF4y2BaFGydF4y2Baの右辺を含むベクトルをますます。GydF4y2Ba

[M F] = massMatrixForm(方程式一样,var)GydF4y2Ba
m =GydF4y2Ba

(GydF4y2Ba 1GydF4y2Ba 0.GydF4y2Ba 0.GydF4y2Ba 1GydF4y2Ba 的)GydF4y2Ba (信谊(1),信谊(0);信谊(0),信谊(1)]GydF4y2Ba

F =GydF4y2Ba

(GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba -GydF4y2Ba 981.GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 100.GydF4y2Ba 的)GydF4y2Ba [theta_t (t);(981 * sin(θ(t))) / 100)GydF4y2Ba

M.GydF4y2BaおよびGydF4y2BaFGydF4y2Baは次の形で表されます。GydF4y2Ba

M.GydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 那GydF4y2Ba XGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba DX.GydF4y2Ba DT.GydF4y2Ba =GydF4y2Ba FGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 那GydF4y2Ba XGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 。GydF4y2Ba

后后の计算を単纯単纯するために,系系を次の形にき换えき换えき换えGydF4y2Ba D.GydF4y2Ba XGydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba =GydF4y2Ba FGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 那GydF4y2Ba XGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 。GydF4y2Ba

f = m \ fGydF4y2Ba
f =GydF4y2Ba

(GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba -GydF4y2Ba 981.GydF4y2Ba 罪GydF4y2Ba (GydF4y2Ba θGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba 的)GydF4y2Ba 的)GydF4y2Ba 100.GydF4y2Ba 的)GydF4y2Ba [theta_t (t);(981 * sin(θ(t))) / 100)GydF4y2Ba

铁饼GydF4y2Baを使用して,GydF4y2BaFGydF4y2BaをMATLAB関数ハンドルに変換します。結果の関数ハンドルはMATLAB颂歌ソルバーGydF4y2BaODE45.GydF4y2Baの入力になります。GydF4y2Ba

f = odeFunction(f, var)GydF4y2Ba
f =GydF4y2Bafunction_handle具有值:GydF4y2Ba@(t,IN2)[IN2(2,:); SIN(IN2(1,:))。*( -  9.81e + 2. / 1.0e + 2)]GydF4y2Ba

手順8:閉じたエネルギー等高線における運動方程式の求解GydF4y2Ba

ODE45.GydF4y2Baをを使し,闭じたエネルギー等高线のodeを解きます。GydF4y2Ba

エネルギー等高线図,闭じた等高线は条件GydF4y2Ba θGydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba 0.GydF4y2Ba 那GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba 0.GydF4y2Ba /GydF4y2Ba 2GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba ≤.GydF4y2Ba 1GydF4y2Ba を満たします。GydF4y2Ba θGydF4y2Ba およびGydF4y2Ba D.GydF4y2Ba θGydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba の初期条件を変数GydF4y2Bax0GydF4y2Baに保存します。GydF4y2Ba

x0 = [0;1.99 * omega_0Value];GydF4y2Ba

解解求めるため,0秒から10秒までの空间间隔を指定します。GydF4y2Ba

tInit = 0;tFinal = 10;GydF4y2Ba

odeを解きます。GydF4y2Ba

sols = ode45(f,[tinit tfinal],x0)GydF4y2Ba
溶胶=GydF4y2Ba结构与字段:GydF4y2Ba解决方案:'ode45' extdata: [1x1 struct] x: [1x45 double] y: [2x45 double] stats: [1x1 struct] data: [1x1 struct]GydF4y2Ba

: sols.y (1)GydF4y2Baは角変位GydF4y2Ba θGydF4y2Ba を表し,GydF4y2Basols.y(2,:)GydF4y2Baは角速度GydF4y2Ba D.GydF4y2Ba θGydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba を表します。GydF4y2Ba

闭じた轨道の解をプロットします。GydF4y2Ba

图;yyaxis.GydF4y2Ba剩下GydF4y2Ba;plot(sols.x,sols.y(1,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel(GydF4y2Ba“\θ(rad)”GydF4y2Ba);yyaxis.GydF4y2Ba对GydF4y2Ba;绘图(Sols.x,Sols.y(2,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel(GydF4y2Ba'\ theta_t(rad / s)'GydF4y2Ba);网格GydF4y2Ba在GydF4y2Ba;标题(GydF4y2Ba“阶段空间中的封闭路径”GydF4y2Ba);Xlabel(GydF4y2Ba't(s)'GydF4y2Ba);GydF4y2Ba

图中包含一个坐标轴。相位空间中标题闭路的轴包含2个类型的型号。GydF4y2Ba

振子のの运可化ます。GydF4y2Ba

x_pos = @(t)sin(deval(sols,t,1));y_pos = @(t)-cos(deval(sols,t,1));图;Fanimator(@(t)绘图(x_pos(t),y_pos(t),GydF4y2Ba'ko'GydF4y2Ba那GydF4y2Ba'markerfacecolor'GydF4y2Ba那GydF4y2Ba“k”GydF4y2Ba));抓住GydF4y2Ba在GydF4y2Ba;Fanimator(@(t)绘图([0 x_pos(t)],[0y_pos(t)],GydF4y2Ba'k-'GydF4y2Ba));Fanimator(@(t)文字(-0.3,1.5,GydF4y2Ba计时器:“GydF4y2Ba+ num2str(t,2)+GydF4y2Ba“s”GydF4y2Ba));GydF4y2Ba

图中包含一个坐标轴。轴包含3个类型线,文本的对象。GydF4y2Ba

コマンドGydF4y2BaPlayAnimation.GydF4y2Baを入力して振子運動のアニメーションを再生します。GydF4y2Ba

手順9:開いたエネルギー等高線の解GydF4y2Ba

ODE45.GydF4y2Baを使使し,开いたエネルギー等高线のodeを解きます。エネルギー等高线図,开いた等高线は条件GydF4y2Ba θGydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba 0.GydF4y2Ba 那GydF4y2Ba θGydF4y2Ba T.GydF4y2Ba 0.GydF4y2Ba /GydF4y2Ba 2GydF4y2Ba ωGydF4y2Ba 0.GydF4y2Ba >GydF4y2Ba 1GydF4y2Ba を満たします。GydF4y2Ba

x0 = [0;2.01 * omega_0Value];sols = ode45(f, [tInit, tFinal], x0);GydF4y2Ba

开いたエネルギーエネルギー高线の解をプロットします。GydF4y2Ba

图;yyaxis.GydF4y2Ba剩下GydF4y2Ba;plot(sols.x,sols.y(1,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel(GydF4y2Ba“\θ(rad)”GydF4y2Ba);yyaxis.GydF4y2Ba对GydF4y2Ba;绘图(Sols.x,Sols.y(2,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel(GydF4y2Ba'\ theta_t(rad / s)'GydF4y2Ba);网格GydF4y2Ba在GydF4y2Ba;标题(GydF4y2Ba“相空间的开放路径”GydF4y2Ba);Xlabel(GydF4y2Ba't(s)'GydF4y2Ba);GydF4y2Ba

图中包含一个坐标轴。标题为“相空间中的开放路径”的轴包含两个类型为line的对象。GydF4y2Ba

振子のの运可化ます。GydF4y2Ba

x_pos = @(t)sin(deval(sols,t,1));y_pos = @(t)-cos(deval(sols,t,1));图;Fanimator(@(t)绘图(x_pos(t),y_pos(t),GydF4y2Ba'ko'GydF4y2Ba那GydF4y2Ba'markerfacecolor'GydF4y2Ba那GydF4y2Ba“k”GydF4y2Ba));抓住GydF4y2Ba在GydF4y2Ba;Fanimator(@(t)绘图([0 x_pos(t)],[0y_pos(t)],GydF4y2Ba'k-'GydF4y2Ba));Fanimator(@(t)文字(-0.3,1.5,GydF4y2Ba计时器:“GydF4y2Ba+ num2str(t,2)+GydF4y2Ba“s”GydF4y2Ba));GydF4y2Ba

图中包含一个坐标轴。轴包含3个类型线,文本的对象。GydF4y2Ba

コマンドGydF4y2BaPlayAnimation.GydF4y2Baを入力して振子運動のアニメーションを再生します。GydF4y2Ba