永发信息网

求教matlab四重积分

答案:3  悬赏:0  手机版
解决时间 2021-03-15 02:55
我打算用int函数做四重积分,如果是可分的比如被积函数是(1/s^2+1/t^2+n+m)一类的速度就很快,但是如果不可分就非常慢,比如我算
syms s t m n;
int(int(int(int((1/(s^2+1+t^2)+n+m),s,-0.15,0.15),t,-0.15,0.15),n,-7,7),m,-9,9);
就用了129秒,如果四个变量都在分母上时间无法估量。不知道有没有什么更好的方法。
最佳答案
我仿照dblquad和triplequad编了个四重积分的函数quad4:

function Q = quad4(intfcn,xmin,xmax,ymin,ymax,zmin,zmax,tmin,tmax,tol,quadf,varargin)% QUAD4 计算四重积分
if nargin < 9, error('Requires at least seven inputs'); end
if nargin < 10 | isempty(tol), tol = 1.e-6; end
if nargin < 11 | isempty(quadf), quadf = @quad; end
intfcn = fcnchk(intfcn);
trace = [];
Q = triplequad(@innerintegral, ymin, ymax, zmin, zmax, tmin, tmax, tol, trace, intfcn, ...
xmin, xmax, tol, quadf, varargin{:});

function Q = innerintegral(y, z, t, intfcn, xmin, xmax, tol, quadf, varargin)
Q = zeros(size(z));
trace = [];
for i = 1:length(y)
Q(i) = feval(quadf, intfcn, xmin, xmax, tol, trace, y(i), z, t, varargin{:});
end

使用这个函数计算1/(s^2+1+t^2)+n+m的积分比较容易:
f=inline('1./(s.^2+1+t.^2)+n+m','s','t','n','m')
quad4(f,-0.15,0.15,-0.15,0.15,-7,7,-9,9)
得到的结果是22.3468,和你使用四个int计算得到的结果相同(在6.5版上计算很快):
int(int(int(int((1/(s^2+1+t^2)+n+m),s,-0.15,0.15),t,-0.15,0.15),n,-7,7),m,-9,9)
double(ans)

但计算四个变量都在分母上的函数会遇到困难:
f=inline('1./(s.^2+1+t.^2+n+m)','s','t','n','m')
quad4(f,-0.15,0.15,-0.15,0.15,-7,7,-9,9)

限于时间精力,我没有做进一步研究,给你两个建议,供参考:
(1)确信你的这个积分有意义(积分给出的警告信息说可能因奇异点引起);
(2)必要的话可跟踪程序运行,看为什么出这样的错,再想解决办法。
全部回答
可以考虑数值积分。quad,dblquad,triplequad,数值积分肯定要比先求出原函数要快很多,不过据我所知matlab中有1重、二重、三重数值积分,没见过四重数值积分的。只希望能给你提供一个思路
先说你的积分类型,是不是把积分顺序搞错了!, 按照你的积分类型最后积分出来的是一个关于x2,x3的函数,而不是一个数值! 这你让计算机如何算。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样才能成为社会黑帮的老大
精艺打字复印我想知道这个在什么地方
王者荣耀貂蝉说话 王者荣耀貂蝉在游戏里说什
重庆去万州自驾怎么走方便
给四十多岁的妈妈买衣服,什么牌子比较好?
姑苏区海星外汇工作室是搞传销的么
三营这个地址在什么地方,我要处理点事
沈阳市地图
北京天坛新年倒数活动是随便就能参加吗?
不同等别的水利工程的施工期洪水标准该查询什
室外的消防供水和喷淋供水分开吗? 是否用一个
射洪县广兴镇在什么地方啊,我要过去处理事情
什么叫16:9显示屏
墨水和花露水掺在一起有什么化学反应
dnf刺客旋刃伤害怎么样
推荐资讯
巢湖有什么好玩的地方
三星盖乐世a7(2016)显示栏不显示QQ了
家用老万锅炉放几天在烧为啥冒烟
农科路一街我想知道这个在什么地方
案例分析:花王公司运输体系的优化手段
storm of autumn 钢琴谱 谁有能发给我?谢谢
支付宝账户转支付宝账户有金额限制吗
揭阳市榕城区审计局地址在什么地方,想过去办
785*5=()*5+()*85=()+()=()
为什么男友很爱自己自己还要去猜疑
像mysql是数据库管理系统还是数据库服务器
辽宁省中小企业厅信息中心在什么地方啊,我要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?