此示例显示如何使用符号数学工具箱™计算确定的积分。
表明明确的积分 为了 在 是0。
Syms.Xint(sin(x),pi / 2,3 * pi / 2)
ans =.
最大化 为了 首先,定义符号变量并假设 :
Syms.一种X假设(a> = 0);
然后,定义最大化的函数:
f = int(sin(a * x)* sin(x / a),x,-a,a)
f =
注意这里的特例
。使计算更容易,使用假定
忽略这种可能性(并稍后检查)
不是最大值):
假定(a = 1);f = int(sin(a * x)* sin(x / a),x,-a,a)
f =
创建一个 检查其形状:
fplot(f,[0 10])
用差
找到衍生物
关于
:
Fa = Diff(F,A)
FA =
零的零 是当地的极值 :
抓住在Fplot(FA,[0 10])网格在
最大值在1到2.使用之间vpasolve.
求的零点的近似值
在这个间隔:
a_max = vpasolve(fa,a,[1,2])
a_max =
用subs
要获得积分的最大值:
f_max = subs(f,a,a_max)
f_max =
结果仍然包含精确的数字
和
。用VPA.
要通过数值近似替换这些:
VPA(f_max)
ans =.
检查排除案例 不会导致更大的值:
VPA(int(sin(x)* sin(x),x,-1,1)))
ans =.
高尺寸区域的数值集成具有特殊功能:
积分2(@(x,y)x。^ 2-y。^ 2,0,1,0,1)
ans = 4.0127e-19
没有这样的特殊功能,可以进行高维符号集成。使用嵌套的一维积分(而不是:
Syms.Xyint(int(x ^ 2-y ^ 2,y,0,1),x,0,1)
ans =.
定义矢量字段F
在3D空间中:
Syms.XyZ.f(x,y,z)= [x ^ 2 * y * z,x * y,2 * y * z];
接下来,定义曲线:
Syms.T.UX(t)= sin(t);UY(t)= t ^ 2-t;UZ(t)= t;
线路积分F
沿着曲线你
被定义为
,在那里
在右侧表示标量产品。
使用此定义计算积分的线路 从
f_int = int(f(ux,uy,uz)* diff([ux; uy; uy; uz],t),t,0,1)
f_int =.
得到这个精确结果的数值近似:
VPA(F_INT)
ans =.