主要内容gydF4y2Ba

模拟一个摆的周期摆动的运动gydF4y2Ba

这个例子展示了如何使用symbol Math Toolbox™来模拟一个简单的钟摆的运动。推导了摆的运动方程,并对小角度进行了解析解,对任意角度进行了数值求解。gydF4y2Ba

第一步:推导运动方程gydF4y2Ba

摆是一个遵循微分方程的简单机械系统。钟摆最初是在垂直位置静止的。当钟摆移动一个角度时gydF4y2Ba θgydF4y2Ba 释放后,重力将它拉回静止位置。它的动量使它超冲并形成一个角度gydF4y2Ba -gydF4y2Ba θgydF4y2Ba (如果没有摩擦力)等等。由于重力,沿摆运动的恢复力为gydF4y2Ba -gydF4y2Ba 米gydF4y2Ba ggydF4y2Ba 罪gydF4y2Ba θgydF4y2Ba .因此,根据牛顿第二定律,质量乘以加速度一定等于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
                          
                         
                        
                       
                      
                     
                    
                   
                  
                 

对于一个有长度的摆gydF4y2Ba rgydF4y2Ba ,钟摆Bob的加速度等于角加速度乘以gydF4y2Ba rgydF4y2Ba .gydF4y2Ba

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

代替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

把角加速度分离出来gydF4y2BaeqngydF4y2Ba通过使用gydF4y2Ba隔离gydF4y2Ba.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

收集常量gydF4y2Ba ggydF4y2Ba 和gydF4y2Ba rgydF4y2Ba 转换为单个参数,也称为gydF4y2Ba固有频率gydF4y2Ba.gydF4y2Ba

ωgydF4y2Ba 0gydF4y2Ba =gydF4y2Ba ggydF4y2Ba rgydF4y2Ba .gydF4y2Ba

信谊gydF4y2Baomega_0gydF4y2Baeqn =潜艇(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

第二步:线性化运动方程gydF4y2Ba

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

信谊gydF4y2BaxgydF4y2Ba约=泰勒(sin (x), x,gydF4y2Ba“秩序”gydF4y2Ba2);约=潜艇(大约x,θ(t))gydF4y2Ba
约=gydF4y2Ba
                 
                  
                   
                    
                     
                      θgydF4y2Ba
                    
                    
                     
                      (gydF4y2Ba
                     
                      
                       
                        tgydF4y2Ba
                      
                     
                     
                      )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

第三步:解析解运动方程gydF4y2Ba

解方程gydF4y2BaeqnLineargydF4y2Ba通过使用gydF4y2BadsolvegydF4y2Ba.指定初始条件作为第二个参数。通过假设来简化解gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba 是真实的使用gydF4y2Ba假设gydF4y2Ba.gydF4y2Ba

信谊gydF4y2Batheta_0gydF4y2Batheta_t0gydF4y2Batheta_t = diff(θ);Cond = [theta(0) == theta_0, theta_t(0) == theta_t0];假设(omega_0gydF4y2Ba“真实”的gydF4y2Ba) thetaSol(t) = dsolve(eqnLinear, second)gydF4y2Ba
thetaSol (t) =gydF4y2Ba

θgydF4y2Ba 0gydF4y2Ba 因为gydF4y2Ba (gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba tgydF4y2Ba )gydF4y2Ba +gydF4y2Ba θgydF4y2Ba t0gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba

第四步:物理意义gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba

这个词gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba tgydF4y2Ba 被称为gydF4y2Ba阶段gydF4y2Ba.cos和sin函数每次都重复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;右值= 1;omega_0Value =√gValue /右值);T = 2 *π/ 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 (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

图中包含一个轴对象。axis对象包含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 .使用以下方法可视化这些路径gydF4y2BafcontourgydF4y2Ba.gydF4y2Ba

信谊gydF4y2BaθgydF4y2Batheta_tgydF4y2Baomega_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“LevelList”gydF4y2Ba0:5:50,gydF4y2Ba“MeshDensity”gydF4y2Ba1 + 2 ^ 8);网格gydF4y2Ba在gydF4y2Ba;标题(gydF4y2Ba相空间中的能量等高线(\theta vs. \theta_t)gydF4y2Ba);包含(gydF4y2Ba“θ/ \ \π”gydF4y2Ba);ylabel (gydF4y2Ba“\ theta_t / 2 \ omega_0”gydF4y2Ba);gydF4y2Ba

图中包含一个轴对象。坐标轴对象与标题C o n s t n t空白E n E r g y空白C o n t o u r s空白我n空白P h s E空白s P v C E空白(空白θ空白。(t基线空白)包含类型函数轮廓的对象。gydF4y2Ba

能量等高线是对称的gydF4y2Ba θgydF4y2Ba 轴和gydF4y2Ba dgydF4y2Ba θgydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba 轴,并且沿着gydF4y2Ba θgydF4y2Ba 轴。图中显示了两个截然不同的行为区域。gydF4y2Ba

等高线图上较低的能量靠近它们自己。钟摆在两个最大角度和速度之间来回摆动。摆的动能不足以克服引力能,使摆作一个完整的回路。gydF4y2Ba

等高线图上的更高能量不会自己闭合。钟摆总是朝着一个角的方向移动。摆的动能足以克服引力能,使摆作一个完整的循环。gydF4y2Ba

第七步:解非线性运动方程gydF4y2Ba

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

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

信谊gydF4y2Baθ(t)gydF4y2Batheta_t (t)gydF4y2Baomega_0gydF4y2Ba等式= [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

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

求质量矩阵gydF4y2Ba米gydF4y2Ba方程组和方程的右边gydF4y2BaFgydF4y2Ba.gydF4y2Ba

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

(gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba

F =gydF4y2Ba

(gydF4y2Ba θgydF4y2Ba tgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba -gydF4y2Ba 981gydF4y2Ba 罪gydF4y2Ba (gydF4y2Ba θgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba )gydF4y2Ba One hundred.gydF4y2Ba )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

转换gydF4y2BafgydF4y2Ba来一个MATLAB函数的处理用gydF4y2BaodeFunctiongydF4y2Ba.得到的函数句柄是MATLAB ODE求解器的输入gydF4y2Ba数值gydF4y2Ba.gydF4y2Ba

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

步骤8:求解闭合能量轮廓的运动方程gydF4y2Ba

用,求解闭合能量线的ODEgydF4y2Ba数值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 在变量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: [0 3.2241e-05 1.9344e-04 9.9946e-04 0.0050 0.0252 0.1259…y: [2x45 double] stats: [1x1 struct] data: [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“\θ(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的轴对象包含两个类型为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

图中包含一个轴对象。axis对象包含3个类型为line, text的对象。gydF4y2Ba

输入的命令gydF4y2Ba那里gydF4y2Ba播放钟摆运动的动画。gydF4y2Ba

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

用,求解开能轮廓的ODEgydF4y2Ba数值gydF4y2Ba.从能量等高线图来看,开放等高线满足条件gydF4y2Ba θgydF4y2Ba 0gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba θgydF4y2Ba tgydF4y2Ba 0gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba ωgydF4y2Ba 0gydF4y2Ba >gydF4y2Ba 1gydF4y2Ba .gydF4y2Ba

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

绘制开放能量等高线的解。gydF4y2Ba

图;yyaxisgydF4y2Ba左gydF4y2Ba;情节(溶胶。x,: sols.y (1),gydF4y2Ba“o”gydF4y2Ba);ylabel (gydF4y2Ba“\θ(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

图中包含一个轴对象。标题为“相空间中的开放路径”的轴对象包含两个类型为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

图中包含一个轴对象。axis对象包含3个类型为line, text的对象。gydF4y2Ba

输入的命令gydF4y2Ba那里gydF4y2Ba播放钟摆运动的动画。gydF4y2Ba