24小时热门版块排行榜    

查看: 256  |  回复: 2
当前主题已经存档。

autumnlyy

铜虫 (小有名气)

[交流] 【求助】请教matlab 重积分的问题

一个简单的问题:
假如在一个二维平面上,x1,x2,……xn
                                 y1,y2,……yn
上面每一个点的数值我都知道
我想把这些点的值组成的一个函数z=f(xm,yn)(并没有解析表达式)做一个积分
相当于,对z=f(x,y)从x1->xn, y1->yn作一个重积分

我利用matlab的辛普森公式做以下的操作,是否能够得出我想要的结果?

for jj=1:n
        IIxtmp(1,jj)=(dh/3)*(z(jj,1)+4*sum(z(jj,2:2:n-1))+2*sum(z(jj,3:2:n-2))+z(jj,n));  %对x方向先积分
        IIytmp(1,jj)=(dh/3)*(z(1,jj)+4*sum(z(2:2:n-1,jj))+2*sum(z(3:2:n-2,jj))+z(n,jj));  %对y方向先积分
end

IIx=(dh/3)*(IIxtmp(1)+4*sum(IIxtmp(2:2:n-1))+2*sum(IIxtmp(3:2:n-2))+IIxtmp(n)); %对y方向后积分
        IIy=(dh/3)*(IIytmp(1)+4*sum(IIytmp(2:2:n-1))+2*sum(IIytmp(3:2:n-2))+IIytmp(n)); %对x方向后积分

II=0.5*(IIx+IIy);  %积分的结果
我采用上面的方法,能够的到我想要的结果么?

其中h为步长

[ Last edited by ddx-k on 2009-2-12 at 19:50 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ljbnudt

木虫 (正式写手)

建议先根据数据拟合成一个曲面得到f(x,y)比较好的表达式,再用dblquad函数求积分
2楼2009-02-01 12:27:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaoguoxi

铜虫 (正式写手)

可以先利用差值命令interp2


小木虫(金币+0.5):给个红包,谢谢回帖交流
第一步, 可以先利用差值命令interp2
第二步,利用插值函数直接计算近似的积分结果

        如果是散乱点就可以用griddata
不见武林豪杰墓,无花无酒锄作田
3楼2009-05-30 09:24:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 autumnlyy 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见