该示例探讨了阻尼谐波振荡器的物理据/p>
在没有驱动力的情况下解决运动方程,据/p>
调查患者,过度和严重阻尼据/p>
衍生运动方程据/p>
解决运动方程(f = 0)据/p>
被拒绝的案例(据span class="inlineequation"> )据/p>
覆盖案例(据span class="inlineequation"> )据/p>
严重阻尼案例(据span class="inlineequation"> )据/p>
结论据/p>
考虑一个强制谐波振荡器,下面所示的阻尼。模拟与振荡器移动的速度成比例的电阻力。据/p>
定义运动的方程据/p>
是质量据/p>
阻尼系数是阻尼系数据/p>
是弹簧常数据/p>
是一个驱动力据/p>
Syms.据span style="color:#A020F0">x(t)据/span>m据/span>C据/span>K.据/span>f(t)据/span>eq = m * diff(x,t,t)+ c * diff(x,t)+ k * x == f据/pre>
eq(t)=据div class="code_responsive">
使用重写等式据span class="inlineequation"> 和据span class="inlineequation"> 。据/p>
Syms.据span style="color:#A020F0">伽玛据/span>omega_0.据/span>eq = subs(eq,[c k],[m * gamma,m * omega_0 ^ 2])据/pre>
eq(t)=据div class="code_responsive">
划分质量据span class="inlineequation"> 。现在我们以方便的形式进行了方程来分析。据/p>
eq =收集(eq,m)/ m据/pre>
eq(t)=据div class="code_responsive">
解决运动方程据Code class="literal">Dsolve.据/Code>在没有外力的情况下据span class="inlineequation"> 。使用单位位移和零速度的初始条件。据/p>
vel = diff(x,t);Cond = [x(0)== 1,Vel(0)== 0];eq = subs(eq,f,0);sol = dsolve(eq,cond)据/pre>
sol =据div class="code_responsive">
检查如何通过扩展它来简化解决方案。据/p>
sol =展开(sol)据/pre>
sol =据div class="code_responsive">
请注意,每个学期都有一个因素据span class="inlineequation"> , 或者据span class="inlineequation"> , 用据Code class="literal">搜集据/Code>收集这些条款据/p>
sol = collect(sol,exp(-gamma * t / 2))据/pre>
sol =据div class="code_responsive">
期限据span class="inlineequation"> 出现在解决方案的各个部分。通过引入阻尼比以更简单的形式重写它据span class="inlineequation"> 。据/p>
将ζ替换为上面的术语给出:据/p>
Syms.据span style="color:#A020F0">Zeta.据/span>;sol = subs(sol,据span style="color:#0000FF">......据/span>SQRT(Gamma ^ 2 - 4 * Omega_0 ^ 2),据span style="color:#0000FF">......据/span>2 * OMEGA_0 * SQRT(Zeta ^ 2-1))据/pre>
sol =据div class="code_responsive">
通过代替来进一步简化解决方案据span class="inlineequation"> 按照据span class="inlineequation"> 和据span class="inlineequation"> 那据/p>
sol = subs(sol,gamma,2 * zeta * omega_0)据/pre>
sol =据div class="code_responsive">
我们已经衍生出用于阻尼谐振子的运动的一般解决方案,没有驱动力。接下来,我们将探索三种特殊情况的阻尼比例据span class="inlineequation"> 动议采用更简单的形式。这些案件称为据/p>
欠下据span class="inlineequation"> 那据/p>
覆盖据span class="inlineequation"> , 和据/p>
严重阻尼据span class="inlineequation"> 。据/p>
如果据span class="inlineequation"> , 然后据span class="inlineequation"> 纯粹是想象的据/p>
Solunder = subs(sol,sqrt(zeta ^ 2-1),1i * sqrt(1-zeta ^ 2))据/pre>
solunder =.据div class="code_responsive">
请注意条款据span class="inlineequation"> 在上面的等式中并回忆起身份据span class="inlineequation">
以条件重写解决方案据span class="inlineequation"> 。据/p>
solunder = coeffs(Solunder,Zeta);solunder = solund(1);c = exp(-omega_0 * zeta * t);solunder = c *重写(solunder / c,据span style="color:#A020F0">'cos'据/span>)据/pre>
solunder =.据span class="inlineequation">
sold(t,omega_0,zeta)= old据/pre>
soldund(t,omega_0,zeta)=据span class="inlineequation">
系统以自然频率振荡据span class="inlineequation"> 并以指数速率衰减据span class="inlineequation"> 。据/p>
绘制解决方案据Code class="literal">Fplot.据/Code>作为一个函数据span class="inlineequation"> 和据span class="inlineequation"> 。据/p>
z = [0 1/4 1/2 3/4];w = 1;t = 4 * pi;linestyle = {据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">':K'据/span>那据span style="color:#A020F0">' - 。'据/span>};fplot(@(t)old(t,w,z(1)),[0 t],linestyle {1});抓住据span style="color:#A020F0">在据/span>;据span style="color:#0000FF">为了据/span>k = 2:numel(z)fplot(@(t)old(t,w,z(k)),[0 t],linestyle {k});据span style="color:#0000FF">结尾据/span>抓住据span style="color:#A020F0">离开据/span>;网格据span style="color:#A020F0">在据/span>;XTICKS(T * LINSPACE(0,1,5));xticklabels({据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'\ pi'据/span>那据span style="color:#A020F0">'2 \ pi'据/span>那据span style="color:#A020F0">'3 \ pi'据/span>那据span style="color:#A020F0">'4 \ pi'据/span>});Xlabel(据span style="color:#A020F0">'t / omega_0'据/span>);ylabel(据span style="color:#A020F0">'振幅'据/span>);lgd =图例(据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'1/4'据/span>那据span style="color:#A020F0">'1/2'据/span>那据span style="color:#A020F0">'3/4'据/span>);标题(LGD,据span style="color:#A020F0">'\ zeta'据/span>);标题(据span style="color:#A020F0">'被拒绝'据/span>);据/pre>
如果据span class="inlineequation"> , 然后据span class="inlineequation"> 纯粹是真实的,解决方案可以被重写为据/p>
Solover = Sol.据/pre>
索罗=据div class="code_responsive">
Solover = Coeffs(Solover,Zeta);Solover =索罗(1)据/pre>
索罗=据div class="code_responsive">
请注意条款据span class="inlineequation"> 并回忆起身份据span class="inlineequation"> 。据/p>
以条件重写表达据span class="inlineequation"> 。据/p>
c = exp(-omega_0 * t * zeta);Solover = C *重写(Solover / C,据span style="color:#A020F0">'COSH'据/span>)据/pre>
索罗=据span class="inlineequation">
索罗(T,Omega_0,Zeta)=索拉弗据/pre>
索拉弗(t,omega_0,zeta)=据span class="inlineequation">
绘制解决方案,以便在不振荡的情况下看到它衰减。据/p>
z = 1 + [1/4 1/2 3/4 1];w = 1;t = 4 * pi;linestyle = {据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">':K'据/span>那据span style="color:#A020F0">' - 。'据/span>};fplot(@(t)求助(t,w,z(1)),[0 t],linestyle {1});抓住据span style="color:#A020F0">在据/span>;据span style="color:#0000FF">为了据/span>k = 2:numel(z)fplot(@(t)lever(t,w,z(k)),[0 t],linestyle {k});据span style="color:#0000FF">结尾据/span>抓住据span style="color:#A020F0">离开据/span>;网格据span style="color:#A020F0">在据/span>;XTICKS(T * LINSPACE(0,1,5));xticklabels({据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'\ pi'据/span>那据span style="color:#A020F0">'2 \ pi'据/span>那据span style="color:#A020F0">'3 \ pi'据/span>那据span style="color:#A020F0">'4 \ pi'据/span>});Xlabel(据span style="color:#A020F0">'\ omega_0 t'据/span>);ylabel(据span style="color:#A020F0">'振幅'据/span>);lgd =图例(据span style="color:#A020F0">'1 + 1/4'据/span>那据span style="color:#A020F0">'1 + 1/2'据/span>那据span style="color:#A020F0">'1 + 3/4'据/span>那据span style="color:#A020F0">'2'据/span>);标题(LGD,据span style="color:#A020F0">'\ zeta'据/span>);标题(据span style="color:#A020F0">'过度透露'据/span>);据/pre>
如果据span class="inlineequation"> ,然后解决方案简化为据/p>
Solcritical(T,Omega_0)=限制(Sol,Zeta,1)据/pre>
solcritical(t,Omega_0)=据span class="inlineequation">
绘制批判性障碍的解决方案。据/p>
w = 1;t = 4 * pi;fplot(SolcTict(T,W),[0 T])XLabel(据span style="color:#A020F0">'\ omega_0 t'据/span>);ylabel(据span style="color:#A020F0">'X'据/span>);标题(据span style="color:#A020F0">'批判性地阻尼,\ zeta = 1'据/span>);网格据span style="color:#A020F0">在据/span>;XTICKS(T * LINSPACE(0,1,5));xticklabels({据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'\ pi'据/span>那据span style="color:#A020F0">'2 \ pi'据/span>那据span style="color:#A020F0">'3 \ pi'据/span>那据span style="color:#A020F0">'4 \ pi'据/span>});据/pre>
通过求解使用阻尼比来解决代表其运动的杂散来检查谐波振荡器的不同阻尼状态据span class="inlineequation"> 。将所有三个案例绘制在一起,以比较和对比。据/p>
zover = pi;Zunder = 1 / Zover;w = 1;t = 2 * pi;linestyle = {据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">' - '据/span>那据span style="color:#A020F0">':K'据/span>};fplot(@(t)lever(t,w,zover),[0 t],linestyle {1},据span style="color:#A020F0">'行宽'据/span>,2);抓住据span style="color:#A020F0">在据/span>;fplot(solcritical(t,w),[0 t],linestyle {2},据span style="color:#A020F0">'行宽'据/span>,2)fplot(@(t)old(t,w,zunder),[0 t],linestyle {3},据span style="color:#A020F0">'行宽'据/span>,2);抓住据span style="color:#A020F0">离开据/span>;textcolor =行(3);文字(3 * PI / 2,0.3,据span style="color:#A020F0">'过度阻尼'据/span>那据span style="color:#A020F0">'颜色'据/span>,textcolor(1,:));文字(PI * 3/4,0.05,据span style="color:#A020F0">'批评 - 阻尼'据/span>那据span style="color:#A020F0">'颜色'据/span>,textcolor(2,:));文字(PI / 8,-0.1,据span style="color:#A020F0">'欠压'据/span>);网格据span style="color:#A020F0">在据/span>;Xlabel(据span style="color:#A020F0">'\ omega_0 t'据/span>);ylabel(据span style="color:#A020F0">'振幅'据/span>);XTICKS(T * LINSPACE(0,1,5));xticklabels({据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'\ pi / 2'据/span>那据span style="color:#A020F0">'\ pi'据/span>那据span style="color:#A020F0">'3 \ pi / 2'据/span>那据span style="color:#A020F0">'2 \ pi'据/span>});yticks((1 / exp(1))* [ - 1 0 1 2 Exp(1)]);yticklabels({据span style="color:#A020F0">'-1 / e'据/span>那据span style="color:#A020F0">'0'据/span>那据span style="color:#A020F0">'1 / e'据/span>那据span style="color:#A020F0">'2 / e'据/span>那据span style="color:#A020F0">'1'据/span>});lgd =图例(据span style="color:#A020F0">'\ pi'据/span>那据span style="color:#A020F0">'1'据/span>那据span style="color:#A020F0">'1 / \ pi'据/span>);标题(LGD,据span style="color:#A020F0">'\ zeta'据/span>);标题(据span style="color:#A020F0">'阻尼谐波振荡器'据/span>);据/pre>