主要内容GydF4y2Ba

模拟钟摆周期性摆动的运动GydF4y2Ba

此示例显示如何使用符号数学工具箱™模拟简单摆的运动。导出摆锤的运动方程,然后在数值上分析地求解方程,以便以任何角度进行数字。GydF4y2Ba

第1步:导出运动方程GydF4y2Ba

摆是一个遵循微分方程的简单机械系统。钟摆最初在垂直的位置上处于静止状态。当钟摆移动一个角度GydF4y2Ba θ.GydF4y2Ba 并释放,重力的力量将其拉回其静止位置。它的势头导致它过冲并达到一定角度GydF4y2Ba -GydF4y2Ba θ.GydF4y2Ba (如果没有摩擦力),等等。由于重力而沿着摆锤的运动的恢复力是GydF4y2Ba -GydF4y2Ba mGydF4y2Ba GGydF4y2Ba 罪GydF4y2Ba θ.GydF4y2Ba 。因此,根据牛顿的第二律,加速度的质量次必须相等GydF4y2Ba -GydF4y2Ba mGydF4y2Ba GGydF4y2Ba 罪GydF4y2Ba θ.GydF4y2Ba 。GydF4y2Ba

信谊GydF4y2BamGydF4y2Ba一个GydF4y2BaGGydF4y2Baθ(t)GydF4y2Baeqn = m*a == -m*g*sin(theta)GydF4y2Ba
eqn (t) =GydF4y2Ba
                 
                  
                   
                    
                     
                      
                       
                        一个GydF4y2Ba
                       
                       
                       
                        mGydF4y2Ba
                      
                     
                     
                      =GydF4y2Ba
                     
                      
                       
                        -GydF4y2Ba
                       
                        
                         
                          GGydF4y2Ba
                         
                         
                         
                          mGydF4y2Ba
                         
                         
                         
                          
                           
                            罪GydF4y2Ba
                          
                          
                           
                            (GydF4y2Ba
                           
                            
                             
                              
                               
                                θ.GydF4y2Ba
                              
                              
                               
                                (GydF4y2Ba
                               
                                
                                 
                                  T.GydF4y2Ba
                                
                               
                               
                                )GydF4y2Ba
                              
                             
                            
                           
                           
                            )GydF4y2Ba
                          
                         
                        
                       
                      
                     
                    
                   
                   
                    a * m = = - g * m * sin(θ(t))GydF4y2Ba
                  
                 

对于长度的摆锤GydF4y2Ba R.GydF4y2Ba 摆锤的加速度,等于角加速度乘以GydF4y2Ba R.GydF4y2Ba 。GydF4y2Ba

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

代替GydF4y2Ba 一个GydF4y2Ba 通过使用GydF4y2Ba潜艇GydF4y2Ba。GydF4y2Ba

信谊GydF4y2BaR.GydF4y2Baeqn = subs(eqn,a,r * diff(theta,2))GydF4y2Ba
eqn (t) =GydF4y2Ba

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

隔离角度加速度GydF4y2BaEQN.GydF4y2Ba通过使用GydF4y2Ba隔离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) = -(gsin (t)) /rGydF4y2Ba

收集常数GydF4y2Ba GGydF4y2Ba 和GydF4y2Ba R.GydF4y2Ba 进入一个参数,这也被称为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 diff(t, t, 2) = - 0²sin(t)GydF4y2Ba

第2步:线性化运动方程GydF4y2Ba

运动方程是非线性的,很难用解析法求解。假设角度小,利用的泰勒展开将方程线性化GydF4y2Ba 罪GydF4y2Ba θ.GydF4y2Ba 。GydF4y2Ba

信谊GydF4y2BaXGydF4y2Ba约=泰勒(sin (x), x,GydF4y2Ba“秩序”GydF4y2Ba,2);大约=子(约,x,θ(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²* (t)GydF4y2Ba

第3步:分析解决运动方程GydF4y2Ba

解决方程GydF4y2Baeqnlinear.GydF4y2Ba通过使用GydF4y2BaDsolve.GydF4y2Ba。将初始条件指定为第二个参数。假设简化了解决方案GydF4y2Ba ω.GydF4y2Ba 0.GydF4y2Ba 是真实的GydF4y2Ba假设GydF4y2Ba。GydF4y2Ba

信谊GydF4y2BaTheta_0.GydF4y2Batheta_t0.GydF4y2Batheta_t = diff(θ);cond = [theta(0)== theta_0,theta_t(0)== theta_t0];假设(omega_0,GydF4y2Ba'真实的'GydF4y2Ba)Thetasol(t)= dsolve(eqnlinear,cond)GydF4y2Ba
θol(t)=GydF4y2Ba

θ.GydF4y2Ba 0.GydF4y2Ba COS.GydF4y2Ba (GydF4y2Ba ω.GydF4y2Ba 0.GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba +GydF4y2Ba θ.GydF4y2Ba t0GydF4y2Ba 罪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 0.GydF4y2Ba T.GydF4y2Ba 被称为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 mGydF4y2Ba

gvalue = 9.81;rvalue = 1;Omega_0Value = SQRT(GValue / Rvalue);t = 2 * pi / 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 = subs(θ,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 (GydF4y2Ba T.GydF4y2Ba )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个类型的参数化功能线,线条,文本的对象。GydF4y2Ba

输入命令GydF4y2BaPlayanimation.GydF4y2Ba播放摆动行动的动画。GydF4y2Ba

步骤6:使用恒定能量路径确定非线性摆动运动GydF4y2Ba

为了理解摆锤的非线性运动,通过使用总能量方程来可视化摆路径。总能量是保守的。GydF4y2Ba

E.GydF4y2Ba =GydF4y2Ba 1GydF4y2Ba 2GydF4y2Ba mGydF4y2Ba R.GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba D.GydF4y2Ba θ.GydF4y2Ba DT.GydF4y2Ba )GydF4y2Ba 2GydF4y2Ba +GydF4y2Ba mGydF4y2Ba GGydF4y2Ba R.GydF4y2Ba (GydF4y2Ba 1GydF4y2Ba -GydF4y2Ba COS.GydF4y2Ba θ.GydF4y2Ba )GydF4y2Ba

使用三角恒等式GydF4y2Ba 1GydF4y2Ba -GydF4y2Ba COS.GydF4y2Ba θ.GydF4y2Ba =GydF4y2Ba 2GydF4y2Ba 罪GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba θ.GydF4y2Ba /GydF4y2Ba 2GydF4y2Ba )GydF4y2Ba 和关系GydF4y2Ba ω.GydF4y2Ba 0.GydF4y2Ba =GydF4y2Ba GGydF4y2Ba /GydF4y2Ba R.GydF4y2Ba 改写成比例的能量。GydF4y2Ba

E.GydF4y2Ba mGydF4y2Ba 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 。使用的可视化这些路径GydF4y2BaFcontour.GydF4y2Ba。GydF4y2Ba

信谊GydF4y2Baθ.GydF4y2Batheta_t.GydF4y2Baomega_0GydF4y2Bae(θ,theta_t,omega_0)=(1/2)*(theta_t ^ 2 +(2 * omega_0 * sin(θ/ 2))^ 2);Eplot(θ,theta_t)= subs(e,omega_0,omega_0value);数字;fc = fcontour(Eplot(pi * theta,2 * omega_0value * theta_t),2 * [ -  1 1 -1 1],GydF4y2Ba…GydF4y2Ba“线宽”GydF4y2Ba2,GydF4y2Ba'左侧是'GydF4y2Ba,0:5:50,GydF4y2Ba'网格长度'GydF4y2Ba,1 + 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)的轴包含函数rontour类型的对象。GydF4y2Ba

能量等高线是对称的GydF4y2Ba θ.GydF4y2Ba 轴和GydF4y2Ba D.GydF4y2Ba θ.GydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba 轴,沿GydF4y2Ba θ.GydF4y2Ba 轴。该图显示了两个不同行为的区域。GydF4y2Ba

轮廓绘图的较低能量靠近自己。摆锤在两个最大角度和速度之间来回摇摆。摆锤的动能不足以克服重力能量并使摆锤能够制造全环。GydF4y2Ba

等高线图的更高能量不会封闭它们自己。钟摆总是以一个角的方向运动。钟摆的动能足以克服重力能,使钟摆做一个完整的循环。GydF4y2Ba

步骤7:解决运动的非线性方程GydF4y2Ba

运动的非线性方程是二阶微分方程。用使用的数字地解决这些方程GydF4y2Ba数值GydF4y2Ba解算器。因为GydF4y2Ba数值GydF4y2Ba只接受一阶系统,将系统简化为一阶系统。然后,生成作为输入的函数句柄GydF4y2Ba数值GydF4y2Ba。GydF4y2Ba

把二阶ODE写成一阶ODE的方程组。GydF4y2Ba

信谊GydF4y2Baθ(t)GydF4y2Batheta_t(t)GydF4y2Baomega_0GydF4y2Baeqs = [diff(theta)== theta_t;差异(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(t), t) == theta_t(t);diff(t (t) t) = - 0²sin(t))]GydF4y2Ba

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

找到质量矩阵GydF4y2BamGydF4y2Ba系统和方程的右侧GydF4y2BaFGydF4y2Ba。GydF4y2Ba

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

(GydF4y2Ba 1GydF4y2Ba 0.GydF4y2Ba 0.GydF4y2Ba 1GydF4y2Ba )GydF4y2Ba [SEM(1),SYM(0);SYM(0),SYM(1)]GydF4y2Ba

F =GydF4y2Ba

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

mGydF4y2Ba和GydF4y2BaFGydF4y2Ba请参阅此表格。GydF4y2Ba

mGydF4y2Ba (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 One hundred.GydF4y2Ba )GydF4y2Ba [theta_t (t);(981 * sin(θ(t))) / 100)GydF4y2Ba

转换GydF4y2BaFGydF4y2Ba使用Matlab功能手柄GydF4y2Ba助手GydF4y2Ba。得到的函数句柄是MATLAB ODE求解器的输入GydF4y2Ba数值GydF4y2Ba。GydF4y2Ba

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

第8步:解决闭合能量轮廓的运动方程GydF4y2Ba

求解封闭能量轮廓的ODEGydF4y2Ba数值GydF4y2Ba。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

ode45(f,[tInit tFinal],x0)GydF4y2Ba
溶胶=GydF4y2Ba结构与字段:GydF4y2Ba解算:'ode45' extdata: [1x1 struct] x: [1x45 double] y: [2x45 double] stats: [1x1 struct] idata: [1x1 struct]GydF4y2Ba

: sols.y (1)GydF4y2Ba表示角位移GydF4y2Ba θ.GydF4y2Ba 和GydF4y2Ba: sols.y (2)GydF4y2Ba表示角速度GydF4y2Ba D.GydF4y2Ba θ.GydF4y2Ba /GydF4y2Ba D.GydF4y2Ba T.GydF4y2Ba 。GydF4y2Ba

绘制闭合路径解决方案。GydF4y2Ba

数字;yyaxis.GydF4y2Ba剩下GydF4y2Ba;绘图(Sols.x,Sols.y(1,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel (GydF4y2Ba“\θ(rad)”GydF4y2Ba);yyaxis.GydF4y2Ba对GydF4y2Ba;plot(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“柯”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

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

输入命令GydF4y2BaPlayanimation.GydF4y2Ba播放摆动行动的动画。GydF4y2Ba

第9步:开放能源万博 尤文图斯轮廓上的解决方案GydF4y2Ba

求解开能等高线的ODEGydF4y2Ba数值GydF4y2Ba。从能量轮廓图中,开放式轮廓满足条件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];sos = ode45(f, [tInit, tFinal], x0);GydF4y2Ba

绘制开放能量轮廓的解决方案。GydF4y2Ba

数字;yyaxis.GydF4y2Ba剩下GydF4y2Ba;绘图(Sols.x,Sols.y(1,:),GydF4y2Ba'-O'GydF4y2Ba);ylabel (GydF4y2Ba“\θ(rad)”GydF4y2Ba);yyaxis.GydF4y2Ba对GydF4y2Ba;plot(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“柯”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

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

输入命令GydF4y2BaPlayanimation.GydF4y2Ba播放摆动行动的动画。GydF4y2Ba