2026a
# 复曲线积分
此示例说明如何使用 integral 函数的 waypoints 选项计算复曲线积分。
# 将被积函数定义为匿名函数
using TyMath
using TyPlot
fun = z -> exp(z)./z;
# 不使用路径点求积分
可以用参数化计算复值函数的围线积分。在一般情况下,指定一条围线,然后将其微分并用于参数化原被积函数。在这种情况下,将围线作为单位圆,但在所有情况下,其结果与所选围线无关。
g = theta -> cos(theta) + 1im*sin(theta);
gprime = theta -> -sin(theta) + 1im*cos(theta);
q1 = ty_integral(t-> fun(g(t)).*gprime(t),0,2*pi)
q1 = 3.469446951953614e-17 + 6.283185307179586im
这种参数化方法虽然可靠,但难以计算和费时,因为必须先计算导数,然后才能积分。即使是简单函数,也需要写几行代码才能获得正确的结果。由于围绕极点(在本例中为原点)的任何闭围线都有相同的结果,因此可以使用 ty_integral 的 waypoints 选项构建一个围绕极点的方形或三角形路径。
# 对不包含极点的围线求积分
如果路径点向量积分或元素限值为复数,则 ty_integral 会在复平面中针对直线路径序列求积分。围线周围的自然方向为逆时针;指定顺时针围线类似于乘以 -1。以这种方式指定围线使其包含一个单函数奇点。如果指定一条不包含极点的围线,则柯西积分定理可保证闭积分环的值是零。
为此,应对远离原点的方围线周围的 fun 求积分。使用相等的积分限值形成一个闭围线。
C = [2+im 2+2im 1+2im];
q = ty_integral(fun,1+im,1+im,waypoints = vec(C))
q = 1.1102230246251565e-16 + 0.0im
其结果数量级为 eps,实际上为零。
# 对内部包含极点的围线求积分
指定一个完全在原点包含极点的方围线,然后求积分。
C = [1+im -1+im -1-im 1-im];
q2 = ty_integral(fun,1,1,waypoints = vec(C))
q2 = -3.3133218391157016e-16 + 6.283185307179585im
这个结果与 q1 的上述计算相符,但使用的代码简单得多。
这个问题的确切答案是 2π*im。
2*pi*im
ans = 0.0 + 6.283185307179586im