功能衍生品教程
这个例子展示了如何使用功能衍生品的符号数学工具箱™使用波动方程的例子。本例中执行计算象征性地获得分析结果。波动方程的一个字符串固定在其目的是解决使用功能衍生品。函数导数是函数的导数对函数的功能取决于。符号数学工具箱实现功能衍生品使用functionalDerivative
函数。
求解波动方程是一个应用程序的功能的衍生品。它描述了波浪的运动,从运动的一个字符串电磁波的传播,和是一个重要的物理方程。您可以应用在这个示例应用程序演示的技术解决最速降线问题的变分法寻找最小表面的肥皂泡沫。
考虑一个字符串的长度l
两个点之间的暂停x = 0
和x = L
。单位长度字符串有一个密度特征和特有的张力。定义长度、质量密度和紧张作为以后使用的常量。为简单起见,将这些常量1
。
长度= 1;密度= 1;张力= 1;
如果字符串是运动的,字符串的动能和势能密度函数的位移S (x, t)
,随位置x
和时间t
。如果d
是单位长度质量密度,动能密度
潜在的能量密度
在哪里r
是紧张的。
在MATLAB®输入这些方程。因为长度必须是积极的,这一假设。这种假设允许简化
为了简化方程为预期的形式。
信谊S (x, t)drvl假设(L > 0) T (x, T) = d / 2 * diff (S, T) ^ 2;V (x, t) = r / 2 * diff(年代,x) ^ 2;
行动密度一个
是过程
。最小的原则行动,行动总是最小化。确定最低的条件采取行动找到函数的导数一个
关于年代
使用functionalDerivative
并将为零。
一个=过程;eqn = functionalDerivative (S) = = 0
eqn (x, t) =
简化方程使用简化
。将方程转化为预期的形式代替r / d
波速度的平方v
。
eqn =简化(eqn) / r;eqn =潜艇(eqn, r / d, v ^ 2)
eqn (x, t) =
解决方程采用分离变量的方法。集S (x, t) = U (x) * V (t)
将位置的依赖x
和时间t
。单独的双方使用的方程孩子们
。
信谊U (x)V (t)eqn2 =潜艇(eqn S (x, t), U (x) * V (t));eqn2 = eqn2 / (U (x) * V (t))
eqn2 (x, t) =
tmp =孩子(eqn2);
方程两边取决于不同的变量,然而是相等的。这是唯一可能的,如果双方都是一个常数。到一个任意常数等同起来C
两个微分方程。
信谊Ceqn3 = tmp (1) = = C
eqn3 =
eqn4 = tmp (2) = = C
eqn4 =
解决微分方程使用dsolve
与位移的条件0
在x = 0
和t = 0
。他们预期的形式使用简化方程简化
与步骤
选项设置为50
。
V (t) = dsolve (eqn3, V (0) = = 0, t);U (x) = dsolve (eqn4 U (0) = = 0, x);V (t) =简化(V (t)“步骤”,50)
V (t) =
U (x) =简化(U (x),“步骤”,50)
U (x) =
获得方程的常数。
p1 = setdiff (symvar (U (x))信谊((C、x)))
p1 =
p2 = setdiff (symvar (V (t)),信谊((C、V、t)))
p2 =
字符串是固定的位置x = 0
和x = L
。的条件U (0) = 0
已经存在。应用边界条件U (L) = 0
和解决C
。
eqn_bc = U (L) = = 0;[solC,参数,气孔导度]=解决(eqn_bc C“ReturnConditions”,真正的)
solC =
param =
气孔导度=
假设(电导率)
解决方案S (x, t)
的产品是U (x)
和V (t)
。找到解决方案,把弦的特征值代入解决方案获得解决方案的最终形式。
S (x, t) = U (x) * V (t);S =潜艇(S、C、solC);L S =潜艇(年代,[v],[长度sqrt(压力/密度)]);
的参数p1
和p2
确定振动的振幅。集p1
和p2
来1
为了简单起见。
S =潜艇(年代,[p1 p2], [1]);S =简化(年代,“步骤”,50)
S (x, t) =
不同的值的字符串有不同的振动模式k
。情节的第一个四个模式任意时间的价值t
。使用参数
返回的参数解决
为了解决参数k
。
Splot (x) = S (x, 0.3);图(1)在网格在ymin =双(多项式系数(Splot));为我= 1:4 yplot =潜艇(Splot,参数);fplot (yplot长度[0])结束ylim ([-ymin ymin])传说(“k = 1”,“k = 2”,“k = 3”,“k = 4”,“位置”,“最佳”)包含(“位置(x)”)ylabel (“位移(S)”)标题(一个字符串的模式)
波动方程是线性的。这意味着任何允许的线性组合模式波动方程是一个有效的解决方案。因此,完整的解波动方程与给定的边界条件和初始值是一个允许求和模式
在哪里 表示任意常数。
使用symsum
和字符串的前五个模式。一个新的图,显示生成的波形在同一瞬间的时间与前面的波形进行比较。
图(2)S5 (x) = 1/5 * symsum (S参数1、5);fplot(潜艇(S5 t 0.3),长度[0])ylim ([-ymin ymin])网格在包含(“位置(x)”)ylabel (“位移(S)”)标题(“第一个5模式的总和”)
图显示加法模式允许模型定性不同的波形。在这里,我们指定了初始条件 对所有 。
你可以计算值 在方程中 通过指定一个初始速度的条件
适当的模式可以代表任意波形,总结的一样使用傅里叶级数来表示字符串的运动。