我很难实现以下双积分。积分内部有一个求和,使事情有点复杂。我做的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 )
答案 0 :(得分:1)
您的问题是您在集成函数中计算总和的方式。 intergal2
的文档说函数参数必须接受相同大小的数组X和Y并返回相应值的数组。但是这个表达式在函数定义中:
((x-r).^2 + r^2 - (x-r).*r.*cos(theta)).^(nn-1)./aa
没有按照您期望的方式运作,因为您决定nn
和aa
的大小,而integral2
决定了向量的大小x
和theta
;难怪它存在分歧。