主要内容gydF4y2Ba

このページの翻訳は最新ではありませ。gydF4y2Ba

振子の周周揺れ揺れ动きのシミュレーションgydF4y2Ba

この例では,符号数学工具箱™をを使し単纯ななを示しを振をますます。振子のますます。振子のますます。振子ののます振振示します。振子の动词式导出し,その方程式を小角解析解析解き,任意の角度解き,任意の角度について数据的に解きます。gydF4y2Ba

手順1:運動方程式の導出gydF4y2Ba

振子は,微子は,初初状态状态では垂直で停止してい振従う停止してい振従う停止しでい振従う単纯状态いは振従う単纯ていいに従う単纯ていいに従うし程いいに従うし程いいに従う状态程いいに単纯し程いいに従う程程いいに従うが程程いに従うし程程いにに単纯程程います従う従うし程ていに従う単纯程程いますに従うし程程いに従うし程程いに従う停止し程lgydF4y2Ba θ.gydF4y2Ba だけ動かされ放されると,重力によりその静止位置へ引っ張られます。その運動量により行き過ぎて角度gydF4y2Ba -gydF4y2Ba θ.gydF4y2Ba に达し(摩擦ががない合),これを缲り返します。重力によるによる子の动きに伴う复元力gydF4y2Ba -gydF4y2Ba 米gydF4y2Ba ggydF4y2Ba 罪gydF4y2Ba θ.gydF4y2Ba です。したがっしたがっ,ニュートンの第2従って,幂と加入度の积gydF4y2Ba -gydF4y2Ba 米gydF4y2Ba ggydF4y2Ba 罪gydF4y2Ba θ.gydF4y2Ba に等しくなければなりません。gydF4y2Ba

纽带gydF4y2Ba米gydF4y2Ba一个gydF4y2BaggydF4y2Baθ(t)gydF4y2Ba= -m*g*sin(theta)gydF4y2Ba
EQN(T)=gydF4y2Ba
                 
                  
                   
                    
                     
                      
                       
                        一个gydF4y2Ba
                       
                       
                       
                        米gydF4y2Ba
                      
                     
                     
                      =gydF4y2Ba
                     
                      
                       
                        -gydF4y2Ba
                       
                        
                         
                          ggydF4y2Ba
                         
                         
                         
                          米gydF4y2Ba
                         
                         
                         
                          
                           
                            罪gydF4y2Ba
                          
                          
                           
                            (gydF4y2Ba
                           
                            
                             
                              
                               
                                θ.gydF4y2Ba
                              
                              
                               
                                (gydF4y2Ba
                               
                                
                                 
                                  tgydF4y2Ba
                                
                               
                               
                                )gydF4y2Ba
                              
                             
                            
                           
                           
                            )gydF4y2Ba
                          
                         
                        
                       
                      
                     
                    
                   
                   
                    a * m = = - g * m * sin(θ(t))gydF4y2Ba
                  
                 

長さがgydF4y2Ba rgydF4y2Ba の振子では,振子の重りの加速度は角加速度にgydF4y2Ba rgydF4y2Ba を乘じたものです。gydF4y2Ba

一个gydF4y2Ba =gydF4y2Ba rgydF4y2Ba dgydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba dgydF4y2Ba tgydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

潜艇gydF4y2BaをgydF4y2Ba 一个gydF4y2Ba の代わりに使使ます。gydF4y2Ba

纽带gydF4y2BargydF4y2Baeqn =潜艇(eqn r * diff(θ,2))gydF4y2Ba
EQN(T)=gydF4y2Ba

米gydF4y2Ba rgydF4y2Ba ∂gydF4y2Ba 2gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ggydF4y2Ba 米gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba M *r*diff(t, t, 2) == -g* M *sin(t)gydF4y2Ba

隔离gydF4y2Baをを用してgydF4y2BaeqngydF4y2Ba内の角加速度を分離します。gydF4y2Ba

eqn =隔离(eqn diff(θ,2))gydF4y2Ba
eqn =gydF4y2Ba

∂gydF4y2Ba 2gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ggydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba rgydF4y2Ba 差异(θ(t),t,2)== - (g * sin(theta(t))/ rgydF4y2Ba

定数gydF4y2Ba ggydF4y2Ba およびgydF4y2Ba rgydF4y2Ba を”固有振動数”gydF4y2Baとしてとしても知られる単単のパラメーターまとめまとめgydF4y2Ba

ω.gydF4y2Ba 0gydF4y2Ba =gydF4y2Ba ggydF4y2Ba rgydF4y2Ba .gydF4y2Ba

纽带gydF4y2Baomega_0.gydF4y2Baeqn =潜艇(eqn, g / r, omega_0 ^ 2)gydF4y2Ba
eqn =gydF4y2Ba

∂gydF4y2Ba 2gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba 2gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba Diff (t, t, 2) = - 0^2*sin(t)gydF4y2Ba

手順2:運動方程式の線形化gydF4y2Ba

このこの小さい困难し,gydF4y2Ba 罪gydF4y2Ba θ.gydF4y2Ba のテイラー展開を使用して方程式を線形化します。gydF4y2Ba

纽带gydF4y2BaxgydF4y2Ba约=泰勒(sin (x), x,gydF4y2Ba“秩序”gydF4y2Ba2);约=潜艇(大约x,θ(t))gydF4y2Ba
约=gydF4y2Ba
                 
                  
                   
                    
                     
                      θ.gydF4y2Ba
                    
                    
                     
                      (gydF4y2Ba
                     
                      
                       
                        tgydF4y2Ba
                      
                     
                     
                      )gydF4y2Ba
                    
                   
                   
                    θ(t)gydF4y2Ba
                  
                 

運動方程式は線形方程式になります。gydF4y2Ba

eqnLinear =潜艇(eqn,罪(θ(t)),约)gydF4y2Ba
eqnlinear =gydF4y2Ba

∂gydF4y2Ba 2gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba 2gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba diff(θ(t),t,2)== -omga_0 ^ 2 * theta(t)gydF4y2Ba

手顺3:驾驶方程式の解析解析的gydF4y2Ba

方程式gydF4y2BaeqnLineargydF4y2BaをgydF4y2BaDsolve.gydF4y2Baを使用して解きます。初期条件を2番目の引数として指定します。gydF4y2Ba认为gydF4y2Baをを用してgydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba が実数であると仮定して,解を単純化します。gydF4y2Ba

纽带gydF4y2Batheta_0gydF4y2Batheta_t0gydF4y2Batheta_t = diff(θ);cond = [theta(0)== theta_0,theta_t(0)== theta_t0];假设(omega_0,gydF4y2Ba'真实的'gydF4y2Ba) thetaSol(t) = dsolve(eqnLinear, second)gydF4y2Ba
θol(t)=gydF4y2Ba

θ.gydF4y2Ba 0gydF4y2Ba 因为gydF4y2Ba (gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba tgydF4y2Ba )gydF4y2Ba +gydF4y2Ba θ.gydF4y2Ba t0gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba theta_0 * cos (omega_0 * t) + (theta_t0 * sin (omega_0 * t)) / omega_0gydF4y2Ba

手顺4:gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba の物理的意味gydF4y2Ba

項gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba tgydF4y2Ba は,“位相”gydF4y2Baととれます。余弦关圈と正式有关部は,gydF4y2Ba 2gydF4y2Ba π.gydF4y2Ba ごとに繰り返します。gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba tgydF4y2Ba をgydF4y2Ba 2gydF4y2Ba π.gydF4y2Ba だけ変化させるのに必要な時間は時間周期と呼ばれます。gydF4y2Ba

TgydF4y2Ba =gydF4y2Ba 2gydF4y2Ba π.gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba =gydF4y2Ba 2gydF4y2Ba π.gydF4y2Ba rgydF4y2Ba ggydF4y2Ba .gydF4y2Ba

时间周期gydF4y2Ba TgydF4y2Ba は振子の長さの平方根に比例し,質量には依存しません。線形運動方程式では,時間周期は初期条件に依存しません。gydF4y2Ba

手順5:振子運動のプロットgydF4y2Ba

小角近似における振子の運動をプロットします。gydF4y2Ba

物理パラメーターを定义し。gydF4y2Ba

  • 重力加载gydF4y2Ba ggydF4y2Ba =gydF4y2Ba 9gydF4y2Ba .gydF4y2Ba 8gydF4y2Ba 1gydF4y2Ba 多发性硬化症gydF4y2Ba 2gydF4y2Ba

  • 振子の长さgydF4y2Ba rgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba

gvalue = 9.81;rvalue = 1;Omega_0Value = SQRT(GVALUE / RVALUE);t = 2 * pi / omega_0value;gydF4y2Ba

初期条件を設定します。gydF4y2Ba

theta_0Value = 0.1 *π;gydF4y2Ba%解决方案仅对小角度有效。gydF4y2Batheta_t0Value = 0;gydF4y2Ba最初休息的百分比。gydF4y2Ba

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

var = [omega_0 theta_0 theta_t0];value = [omega_0Value theta_0Value theta_t0Value];thetaSolPlot =潜艇(thetaSol、var值);gydF4y2Ba

調和振子運動をプロットします。gydF4y2Ba

fplot (thetaSolPlot (t * t) /π,[0 5);网格gydF4y2Ba在gydF4y2Ba;标题(gydF4y2Ba“谐摆运动”gydF4y2Ba);包含(gydF4y2Ba“电汇”gydF4y2Ba);ylabel (gydF4y2Ba“θ/ \ \π”gydF4y2Ba);gydF4y2Ba

图中包含一个坐标轴。以简谐摆运动为标题的轴包含一个函数线类型的对象。gydF4y2Ba

θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba の解を求めた后,振子の运动を可视化します。gydF4y2Ba

x_pos =罪(thetaSolPlot);y_pos = cos (thetaSolPlot);fanimator (@fplot x_pos y_pos,gydF4y2Ba“柯”gydF4y2Ba,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba'k'gydF4y2Ba,gydF4y2Ba“AnimationRange”gydF4y2Ba[0 5 * T]);持有gydF4y2Ba在gydF4y2Ba;fanimator(@ t) plot([0 x_pos(t)],[0 y_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个类型参数化的对象functionline, line, text。gydF4y2Ba

コマンドgydF4y2Ba那里gydF4y2Baを入力して振子运动のアニメーションを再生します。gydF4y2Ba

手順6:定エネルギー軌道を使用した非線形振子運動の判別gydF4y2Ba

振子の非線形運動を理解するには,全エネルギーの方程式を使用して振子の軌道を可視化します。全エネルギーは保存されます。gydF4y2Ba

EgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba 米gydF4y2Ba rgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba dtgydF4y2Ba )gydF4y2Ba 2gydF4y2Ba +gydF4y2Ba 米gydF4y2Ba ggydF4y2Ba rgydF4y2Ba (gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba 因为gydF4y2Ba θ.gydF4y2Ba )gydF4y2Ba

三角恒等式gydF4y2Ba 1gydF4y2Ba -gydF4y2Ba 因为gydF4y2Ba θ.gydF4y2Ba =gydF4y2Ba 2gydF4y2Ba 罪gydF4y2Ba 2gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba および関係gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba =gydF4y2Ba ggydF4y2Ba /gydF4y2Ba rgydF4y2Ba を使用して,スケーリングされたエネルギーを書き換えます。gydF4y2Ba

EgydF4y2Ba 米gydF4y2Ba rgydF4y2Ba 2gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba [gydF4y2Ba (gydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba dtgydF4y2Ba )gydF4y2Ba 2gydF4y2Ba +gydF4y2Ba (gydF4y2Ba 2gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba 罪gydF4y2Ba θ.gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba

エネルギーは保存されるため,振子の運動は位相空間内の定エネルギー軌道によって記述できます。位相空間は座標gydF4y2Ba θ.gydF4y2Ba およびgydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba をもつ抽象空間です。これらの軌道をgydF4y2BaFcontour.gydF4y2Baをを用し可化します。gydF4y2Ba

纽带gydF4y2BaθgydF4y2Batheta_tgydF4y2Baomega_0.gydF4y2Bae(θ,theta_t,omega_0)=(1/2)*(theta_t ^ 2 +(2 * omega_0 * sin(theta / 2))^ 2);EPLOT(THETA,THETA_T)=潜艇(e,omega_0,OMEGA_0VALUE);图;fc = fcontour(Eplot(pi * theta,2 * omega_0value * theta_t),2 * [ -  1 1 -1 1],gydF4y2Ba......gydF4y2Ba'行宽'gydF4y2Ba2,gydF4y2Ba“LevelList”gydF4y2Ba0:5:50,gydF4y2Ba“MeshDensity”gydF4y2Ba,1 + 2 ^ 8);网格gydF4y2Ba在gydF4y2Ba;标题(gydF4y2Ba相空间中的能量等高线(\theta vs. \theta_t)gydF4y2Ba);包含(gydF4y2Ba“θ/ \ \π”gydF4y2Ba);ylabel (gydF4y2Ba'\ theta_t / 2 \ omega_0'gydF4y2Ba);gydF4y2Ba

图中包含一个坐标轴。相空间能量等高线的坐标轴(\theta vs \theta_t)包含一个函数等高线类型的对象。gydF4y2Ba

一定エネルギーの等高線はgydF4y2Ba θ.gydF4y2Ba 軸およびgydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba 軸に対して対称であり,gydF4y2Ba θ.gydF4y2Ba 軸に沿って周期的です。2つの動作領域を図に示します。

等高線図の下側のエネルギーは自身に近くなります。振子は2つの最大角と最大速度の間で揺れます。振子の運動エネルギーは重力エネルギーに打ち勝つには十分ではなく,振子を完全に回転させることはできません。gydF4y2Ba

等高线図の上侧エネルギーは自身にませ振ませは常に常に常にのの角度のの角度向向振しします振振ののしエネルギーはは重にのにのにのにでありでありことができ打ち胜つのに十でありでありでありことができ打ち胜つのに完全でありであり回転ことができをを完全完全に完全ことができことができ。gydF4y2Ba

手順7:非線形運動方程式の求解gydF4y2Ba

铁线形动动方程式は,2分注方程式。gydF4y2Ba数值gydF4y2Baソルバーを使用して,これらの方程式を数値的に解きます。gydF4y2Ba数值gydF4y2Baは1次の系だけ受け入れるため,系を1次の系约し。次次,gydF4y2Ba数值gydF4y2Baへの入力となる関数ハンドルを生成します。gydF4y2Ba

2階颂歌を1階颂歌系として書き換えます。gydF4y2Ba

纽带gydF4y2Baθ(t)gydF4y2Batheta_t (t)gydF4y2Baomega_0.gydF4y2Ba等式= [diff(theta) == theta_t;diff (theta_t) = = -omega_0 ^ 2 *罪(θ)]gydF4y2Ba
方程式(t) =gydF4y2Ba

(gydF4y2Ba ∂gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ∂gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba 2gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba )gydF4y2Ba [diff(theta(t),t)== theta_t(t);diff(theta_t(t),t)== -omga_0 ^ 2 * sin(theta(t))]gydF4y2Ba

eqs = subs(eqs,omega_0,omega_0value);vars =θ,theta_t];gydF4y2Ba

系の質量行列gydF4y2Ba米gydF4y2Baおよび方程式gydF4y2BaFgydF4y2Baの右辺を含むベクトルを求めます。gydF4y2Ba

[m,f] = massmatrixform(eqs,vars)gydF4y2Ba
M =gydF4y2Ba

(gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba [SEM(1),SYM(0);SYM(0),SYM(1)]gydF4y2Ba

F =gydF4y2Ba

(gydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba -gydF4y2Ba 981gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba One hundred.gydF4y2Ba )gydF4y2Ba [theta_t(t);- (981 * SIN(THETA(T)))/ 100]gydF4y2Ba

米gydF4y2BaおよびgydF4y2BaFgydF4y2Baは次の形で表さますます。gydF4y2Ba

米gydF4y2Ba (gydF4y2Ba tgydF4y2Ba ,gydF4y2Ba xgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba dxgydF4y2Ba dtgydF4y2Ba =gydF4y2Ba FgydF4y2Ba (gydF4y2Ba tgydF4y2Ba ,gydF4y2Ba xgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

後の計算を単純化するために,系を次の形に書き換えます。gydF4y2Ba dgydF4y2Ba xgydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba fgydF4y2Ba (gydF4y2Ba tgydF4y2Ba ,gydF4y2Ba xgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba 。gydF4y2Ba

f = M \ fgydF4y2Ba
F =gydF4y2Ba

(gydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba -gydF4y2Ba 981gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θ.gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba One hundred.gydF4y2Ba )gydF4y2Ba [theta_t(t);- (981 * SIN(THETA(T)))/ 100]gydF4y2Ba

odeFunctiongydF4y2Baを使用して,gydF4y2BafgydF4y2Baをmatlab关节ハンドル変换し変换ししししは关关はははソルバーgydF4y2Ba数值gydF4y2Baのの力量にます。gydF4y2Ba

f =铁饼(F,var)gydF4y2Ba
F =gydF4y2Bafunction_handle与价值:gydF4y2Ba@ (t, in2) [in2(2:);罪(in2(1:))。* 2./1.0 (-9.81 e + e + 2))gydF4y2Ba

手顺8:闭じ闭じエネルギー等高线における动动方程式の求解gydF4y2Ba

数值gydF4y2Baを使用して,閉じたエネルギー等高線の颂歌を解きます。gydF4y2Ba

エネルギー等高線図から,閉じた等高線は条件gydF4y2Ba θ.gydF4y2Ba 0gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 、gydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba 0gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba を満たします。gydF4y2Ba θ.gydF4y2Ba およびgydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba のの初条件を数gydF4y2BaX0.gydF4y2Baに保存します。gydF4y2Ba

x0 = [0;1.99 * OMEGA_0VALUE];gydF4y2Ba

解を求めるため0秒から10秒までの時間間隔を指定します。この間隔で,振子は2周期分動くことができます。gydF4y2Ba

tinit = 0;tfinal = 10;gydF4y2Ba

ODEを解きます。gydF4y2Ba

sols = ode45(f,[tInit tFinal],x0)gydF4y2Ba
Sols =.gydF4y2Ba结构体字段:gydF4y2Ba求解器:'ode45'extdata:[1x1 struct] x:[1x45双] y:[2x45双]统计:[1x1 struct] iData:[1x1 struct]gydF4y2Ba

sols.y(1,:)gydF4y2Baは角変位gydF4y2Ba θ.gydF4y2Ba を表し,gydF4y2Ba: sols.y (2)gydF4y2Baは角速度gydF4y2Ba dgydF4y2Ba θ.gydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba を表します。gydF4y2Ba

閉じた軌道の解をプロットします。gydF4y2Ba

图;yyaxisgydF4y2Ba左gydF4y2Ba;情节(溶胶。x,sols.y(1,:),gydF4y2Ba“o”gydF4y2Ba);ylabel (gydF4y2Ba'\ theta(rad)'gydF4y2Ba);yyaxisgydF4y2Ba正确的gydF4y2Ba;情节(溶胶。x,: sols.y (2),gydF4y2Ba“o”gydF4y2Ba);ylabel (gydF4y2Ba' \ theta_t (rad / s) 'gydF4y2Ba);网格gydF4y2Ba在gydF4y2Ba;标题(gydF4y2Ba“相空间中的闭合路径”gydF4y2Ba);包含(gydF4y2Ba“t (s)”gydF4y2Ba);gydF4y2Ba

图中包含一个坐标轴。标题为Closed Path in Phase Space的轴包含2个类型为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“柯”gydF4y2Ba,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba'k'gydF4y2Ba));持有gydF4y2Ba在gydF4y2Ba;fanimator(@ t) plot([0 x_pos(t)],[0 y_pos(t)],gydF4y2Ba“k -”gydF4y2Ba));fanimator (@ (t)文本(-0.3,1.5,gydF4y2Ba“计时器:”gydF4y2Ba+ num2str (t, 2) +gydF4y2Ba“S”gydF4y2Ba));gydF4y2Ba

图中包含一个坐标轴。轴包含三个对象的类型行,文本。gydF4y2Ba

コマンドgydF4y2Ba那里gydF4y2Baを入力して振子运动のアニメーションを再生します。gydF4y2Ba

手顺9:开いたエネルギー等高线の解gydF4y2Ba

数值gydF4y2Baを使用して,開いたエネルギー等高線の颂歌を解きます。エネルギー等高線図から,開いた等高線は条件gydF4y2Ba θ.gydF4y2Ba 0gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 、gydF4y2Ba θ.gydF4y2Ba tgydF4y2Ba 0gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba ω.gydF4y2Ba 0gydF4y2Ba >gydF4y2Ba 1gydF4y2Ba を満たします。gydF4y2Ba

x0 = [0;2.01 * OMEGA_0VALUE];溶胶= ode45(f,[tinit,tfinal],x0);gydF4y2Ba

開いたエネルギー等高線の解をプロットします。gydF4y2Ba

图;yyaxisgydF4y2Ba左gydF4y2Ba;情节(溶胶。x,sols.y(1,:),gydF4y2Ba“o”gydF4y2Ba);ylabel (gydF4y2Ba'\ theta(rad)'gydF4y2Ba);yyaxisgydF4y2Ba正确的gydF4y2Ba;情节(溶胶。x,: sols.y (2),gydF4y2Ba“o”gydF4y2Ba);ylabel (gydF4y2Ba' \ theta_t (rad / s) 'gydF4y2Ba);网格gydF4y2Ba在gydF4y2Ba;标题(gydF4y2Ba“阶段空间中的开放路径”gydF4y2Ba);包含(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“柯”gydF4y2Ba,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba'k'gydF4y2Ba));持有gydF4y2Ba在gydF4y2Ba;fanimator(@ t) plot([0 x_pos(t)],[0 y_pos(t)],gydF4y2Ba“k -”gydF4y2Ba));fanimator (@ (t)文本(-0.3,1.5,gydF4y2Ba“计时器:”gydF4y2Ba+ num2str (t, 2) +gydF4y2Ba“S”gydF4y2Ba));gydF4y2Ba

图中包含一个坐标轴。轴包含三个对象的类型行,文本。gydF4y2Ba

コマンドgydF4y2Ba那里gydF4y2Baを入力して振子运动のアニメーションを再生します。gydF4y2Ba