Matlab integral3 - 要集成的函数包含一个积分函数

时间:2015-12-07 22:26:43

标签: matlab integration

我发现解释我的问题有点棘手所以请耐心等待。我试图使用迭代过程求​​解积分微分方程。这个过程意味着从第一次迭代开始,我可以找到我所需的函数作为三维积分,函数的参数作为外积分的上限。

然后我需要再次将此函数替换回积分,但是当我这样做时,我得到了错误

  

使用integral3时出错(第66行)
  XMAX必须是浮点标量。

我的代码如下。我尝试过使用符号集成,但是我的被积函数很复杂。

err = 1;
g = @(q) 1;
a = 3;
xmin = 0.2;
xmax = @(x) x;
ymin = 0.1;
ymax = @(x) x;
zmin = @(x,y) x-y;
zmax = @(x,y) x+y;

while err>0.1
    e = g(10);
    G = @(x,y,z) ((z.^2+x.^2-y.^2).^2)./(z.^2.*y.^2.*x.^2).*sqrt(2.*(y.^2.*x.^2+y.^2.*z.^2+x.^2.*z.^2)-y.^4-x.^4-z.^4).*x.^(a-1).*y.^(-a).*g(y).*(z.^(-a).*g(z)-x.^(-a).*g(x));
    g = @(q) 1 + (a-4)/(8).*integral3(G,0.2,q,ymin,ymax,zmin,zmax,'Method','iterated','AbsTol',1e-1,'RelTol',1e-1);
    err = abs(g(10)-e)
end

0 个答案:

没有答案