首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MATLAB -复线/路径积分

MATLAB -复线/路径积分
EN

Stack Overflow用户
提问于 2018-12-08 16:32:04
回答 2查看 428关注 0票数 0

我试图使用integral命令在几条封闭的循环路径上找到复杂的线/路径积分。我的1/(z-i)^2积分在反时针方向横过的圆{z:|z|=2}上的代码如下:

代码语言:javascript
运行
复制
fun = @(z) 1 ./((z-1i) .^ 2);;
g = @(t) 2 .*(cos(t) + 1i .* sin(t));
gprime = @(t) 2 .*(-sin(t) + 1i .* cos(t));
q1 = integral(@(t) fun(g(t)) .* gprime(t),0,2 .* pi)

(我希望答案是0,matlab给出6.6613*10^(-16)-4.4409*10^(-16)i)。

我的代码e^z/(z(z^2-9))在圆圈上的积分{z:而今=3}逆时针方向通过如下:

代码语言:javascript
运行
复制
fun = @(z) exp(z) ./(z .* (z.^2-9));
g = @(t) 2+3 .*(cos(t) + 1i .* sin(t));
gprime = @(t) 2+3 .*(-sin(t) + 1i .* cos(t));
q1 = integral(@(t) fun(g(t)) .* gprime(t),0,2 .* pi)

(我希望答案是pi/9(e^3-2)i,但是matlab给出了5.4351+6.3130i)。

正如上面所看到的,我的问题是,当圆路径集中在原点时,代码给出了精确的值,但却失败了;有时给出一个精确的虚部,但给出不准确的实部,或者只是给出一个完全不准确的答案。

有人能看出是怎么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-08 18:59:24

我已在评论中回答了第一个问题。

对于第二个问题,你在计算导数时犯了一个错误:加性常数2应该消失。这样,您将得到的结果是6.3130i,完全符合理论值。

代码语言:javascript
运行
复制
fun = @(z) exp(z) ./(z .* (z.^2-9));
g = @(t) 2+3 .*(cos(t) + 1i .* sin(t));
gprime = @(t) 3 .*(-sin(t) + 1i .* cos(t));
q1 = integral(@(t) fun(g(t)) .* gprime(t),0,2 .* pi)

我借此机会建议您使用"way points“方法(例如https://uk.mathworks.com/help/matlab/math/complex-line-integrals.html)计算复杂积分,而不是以前的方法。

代码语言:javascript
运行
复制
C=[-2+i,-2-i,5-i,5+i];
integral(@(z) (exp(z) ./(z .* (z.^2-9))),1,1,'WayPoints',C)

其中,C是一个方格(更一般地说是任何正方形),它包围着所需的极点,并且只包含它们。(始终取第二个和第三个参数为1,1)

附录:用剩余定理对理论值进行快速的个人检验:

2i pi(Res(f,0)+Res(f,3))=2i pi(1/(-9)+e^3/(27-9))。

票数 0
EN

Stack Overflow用户

发布于 2018-12-08 18:33:26

你期待的第二个问题的答案是不正确的。Mathematica告诉我答案应该是:

代码语言:javascript
运行
复制
pi*(2/45)*(5 + (exp(2))*(5*exp(1) - 9)) + (pi/9 *(exp(3) - 2))*i

= 5.435120011473026 + 6.313043326012592i

这几乎就是你从Matlab得到的答案。

请记住,Matlab中的integral函数执行数值积分,因此得到的结果将受到机器舍入误差的影响。这意味着,对于第一个问题所得到的结果在本质上也是正确的;它可能是数值积分所能得到的最好的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53684571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档