【发布时间】:2015-09-11 08:07:46
【问题描述】:
我正在使用integralN 函数对复杂函数进行 4 维积分(如果您有兴趣,我将其放在文章末尾)。
我正在从(r1, r2) = (1.8, 1.8) 开始进行集成。从分析上讲,这个函数是在r1 = r2 定义的,然而,在数值上,Matlab 将所有具有匹配坐标的东西视为NaN。
有什么办法可以避免这种行为吗?作为一个仅供参考,将eps 加到一个到下限是行不通的。
f1 =@(r) 5*r.^2 + 2;
f2 =@(r) 2*r.^2 + 12;
f1p = der(f1);
f2p = der(f2);
dF = @(r1,t1,r2,t2)((r1.*r2.*(f1(r1)-f2(r2)+(-r1+r2.*cos(t1-t2)).*f1p(r1)).*(f1(r1)-f2(r2)+(r2-r1.*cos(t1-t2)).*f2p(r2)))./(pi.*(r1.^2+r2.^2-2.*r1.*r2.*cos(t1-t2)+(f1(r1)-f2(r2)).^2).^2))
function df = der(f)
syms x
df = matlabFunction(diff(f(x)));
end
【问题讨论】:
-
请添加您用于integralN的调用命令。
标签: matlab numerical-integration