在 MATLAB(或 Scilab/Maple)中定义 Cauchy 主值?

计算科学 matlab 计算物理学 八度
2021-12-20 07:34:45

如何在任何计算机编程语言中定义一个涉及柯西主值的积分变量?我想知道如何从计算科学的角度逐步分解过程。

这是我遇到的积分: S(ω)=0dω1ω(P(1ωω)+P(1ω+ω)) 

LHS 是 的函数w'RHS 是 的函数w'例如,根据x(t) = 2t+1定义变量意味着例如在 Matlab 中:xtt = 1x = 3

t = 1;
x = 2t + 1;

现在我想S根据w'. 例如,

w' = 1;
S = 2w' + 1; %<----(*) But what is S in terms of w' in my question?

然后S = 3在这里。但这里并不是这么简单的表达。我需要SRHS 的表达式或设置积分,以便我可以用行 (*)S中的like 来获得表达式。w'例如在 Matlab 中,是否需要使用sym(符号) 来完成,还是必须通过傅立叶变换来完成fourier

请注意,RHS 是 的定积分w但既然会消失,w'就是S这里唯一的变数。

或者将问题分成仅定义柯西主值的部分。我浏览 matlab 文档http://www.mathworks.com/help/symbolic/int.html

int(1/(x - 1), x, 0, 2, 'PrincipalValue', true)是我遇到的。但现在我不是在计算不正确的积分。我想将的 Cauchy 主值定义为复杂分析和分布。

1x
P(1x)=limε0+[abε1/xdx+b+εc1/xdx]

相关问题: Sokhotski-Plemelj 定理

1个回答

你可以像这样在枫树上做。

首先,您需要指定下限和上限。a, b, 和c.

对于正常/原始集成,我们使用

int(1/x, x = a .. c);

现在要找到柯西主值,在 maple 中有内置选项int

int(1/x, x = a .. c, 'CauchyPrincipalValue');

但如果你真的想自己输入,那么

Limit(Int(1/x, x = a .. b-epsilon)+Int(1/x, x = b+epsilon .. c), epsilon = 0, right);