【问题标题】:double integral implementation in matlabmatlab中的双积分实现
【发布时间】:2015-12-17 19:48:17
【问题描述】:

我在执行以下双积分时遇到了麻烦。积分内部有一个求和,这使事情变得有点复杂。我做的matlab代码如下,总是有“矩阵尺寸必须一致”之类的错误。 ,有什么实现它的提示吗?谢谢

n=3;
nn=1:n;
aa=gamma([1:n])
thre=3;
lapha=4;
r=3;
fun1= @(theta, x) (1-sum( lambda *pi *( (x-r).^2+r^2-(x-r).*r.*cos(theta)).^(nn-1)./aa).*exp(-1*lambda *pi*((x-r).^2+r^2-(x-r).*r.*cos(theta)))).*lambda/n*(1-1/2^n).*thre.*r.^alpha.*(x-r).^(1-alpha) ;
answer=integral2( fun1, 0, 2*pi, 0, inf )

二重积分:

【问题讨论】:

  • 您可能希望分解公式,处理单个部分,并在验证后将它们分组

标签: matlab integral


【解决方案1】:

您的问题是您在集成函数中计算总和的方式。 intergal2 的文档说函数参数必须接受相同大小的数组 X 和 Y 并返回相应值的数组。但是函数定义里面的这个表达式:

((x-r).^2 + r^2 - (x-r).*r.*cos(theta)).^(nn-1)./aa

没有按照你期望的方式工作,因为是你决定了nnaa的大小,而integral2决定了向量xtheta的大小;难怪会有分歧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多