当前位置:   article > 正文

matlab中积分符号,Matlab中的双重符号积分

双重积分 符号计算 matlab

我正在尝试计算一些积分,例如:

a = 1/sqrt(2);

b = -5;

c = 62;

d = 1;

f = exp(-x^2-y^2)*(erfc((sym(a) + 1/(x^2+y^2)*(sym(b)*x+sym(d)*y))*sqrt((x^2+y^2)*sym(10.^(c/10))))...

+ erfc((sym(a) - 1/(x^2+y^2)*(sym(b)*x+sym(d)*y))*sqrt((x^2+y^2)*sym(10.^(c/10)))));

h = int(int(f,x,-Inf,Inf),y,-Inf,Inf);

会发生这样的错误:

警告:找不到显式积分 .

然后,我尝试使用 vpa 来计算该积分,并得到这样的结果

vpa(int(int(f,x,-Inf,Inf),y,-Inf,Inf),5)

numeric::int(numeric::int(exp(- x^2 - y^2)*(erfc(((6807064429273519*x^2)/4294967296 + (6807064429273519*y^2)/4294967296)^(1/2)*(2^(1/2)/2 + (5*x - y)/(x^2 + y^2))) + erfc(((6807064429273519*x^2)/4294967296 + (6807064429273519*y^2)/4294967296)^(1/2)*(2^(1/2)/2 - (5*x - y)/(x^2 + y^2)))), x == -Inf..Inf), y == -Inf..Inf)

我已经尝试将间隔 [-Inf,Inf] 更改为 [-100,100] ,并获得相同的上述结果:

numeric::int(numeric::int(exp(- x^2 - y^2)*(erfc(((6807064429273519*x^2)/4294967296 + (6807064429273519*y^2)/4294967296)^(1/2)*(2^(1/2)/2 + (5*x - y)/(x^2 + y^2))) + erfc(((6807064429273519*x^2)/4294967296 + (6807064429273519*y^2)/4294967296)^(1/2)*(2^(1/2)/2 - (5*x - y)/(x^2 + y^2)))), x == -100..100), y == -100..100)

我的问题是为什么 vpa 在这种情况下无法恢复到真正的 Value ?上面的Matlab代码有问题吗? (我,我自己,到目前为止找不到这个bug)提前感谢您的帮助 .

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/608812
推荐阅读
相关标签
  

闽ICP备14008679号