matlab二重积分.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:3 大小:20KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

matlab二重积分.doc

matlab二重积分.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一使用两次一重积分%%二重积分f=(x,y)exp(sin(x))*ln(y),y从5*x积分到x^2,x从10积分到201(7、X后版本才有此函数quad2d)y1=quad2d((x,y)exp(sin(x))、*log(y),10,20,(x)5*x,(x)x、^2)2y2=quadl((x)arrayfun((x)quadl((y)exp(sin(x))、*log(y),5*x,x、^2),x),10,20)3y3=dblquad((x,y)exp(sin(x))、*log(y)、*(y>=5*x&y<=x、^2),10,20,50,400)详细请瞧吴鹏老师得文章HYPERLINK""\t"_blank"二使用dblquad函数q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)该函数求f(x,y)在[a,b]×[c,d]区域上得二重定积分。参数tol,trace得用法与函数quad完全相同。例8-5计算二重定积分(1)建立一个函数文件fxy、m:functionf=fxy(x,y)globalki;ki=ki+1;%ki用于统计被积函数得调用次数f=exp(-x、^2/2)、*sin(x、^2+y);(2)调用dblquad函数求解。globalki;ki=0;I=dblquad('fxy',-2,2,-1,1)kiI=1、57449318974494ki=1038来源精通MATLAB科学计算一书王正林,龚纯,何倩编写,电子工业出版社三复合辛普森公式(矩形积分区域)functionq=DblSimpson(f,a,A,b,B,m,n)if(m==1&&n==1)%辛普森公式q=((B-b)*(A-a)/9)*(subs(sym(f),findsym(sym(f)),{a,b})+、、、subs(sym(f),findsym(sym(f)),{a,B})+、、、subs(sym(f),findsym(sym(f)),{A,b})+、、、subs(sym(f),findsym(sym(f)),{A,B})+、、、4*subs(sym(f),findsym(sym(f)),{(A-a)/2,b})+、、、4*subs(sym(f),findsym(sym(f)),{(A-a)/2,B})+、、、4*subs(sym(f),findsym(sym(f)),{a,(B-b)/2})+、、、4*subs(sym(f),findsym(sym(f)),{A,(B-b)/2})+、、、16*subs(sym(f),findsym(sym(f)),{(A-a)/2,(B-b)/2}));else%复合辛普森公式q=0;fori=0:n-1forj=0:m-1x=a+2*i*(A-a)/2/n;y=b+2*j*(B-b)/2/m;x1=a+(2*i+1)*(A-a)/2/n;y1=b+(2*j+1)*(B-b)/2/m;x2=a+2*(i+1)*(A-a)/2/n;y2=b+2*(j+1)*(B-b)/2/m;q=q+subs(sym(f),findsym(sym(f)),{x,y})+、、、subs(sym(f),findsym(sym(f)),{x,y2})+、、、subs(sym(f),findsym(sym(f)),{x2,y})+、、、subs(sym(f),findsym(sym(f)),{x2,y2})+、、、4*subs(sym(f),findsym(sym(f)),{x,y1})+、、、4*subs(sym(f),findsym(sym(f)),{x2,y1})+、、、4*subs(sym(f),findsym(sym(f)),{x1,y})+、、、4*subs(sym(f),findsym(sym(f)),{x1,y2})+、、、16*subs(sym(f),findsym(sym(f)),{x1,y1});endendendq=((B-b)*(A-a)/36/m/n)*q;四复合梯形公式(矩形积分区域)functionq=DblTraprl(f,a,A,b,B,m,n)if(m==1&&n==1)%梯形公式q=((B-b)*(A-a)/4)*(subs(sym(f),findsym(sym(f)),{a,b})+、、、subs(sym(f),findsym(sym(f)),{a,B})+、、、subs(sym(f),findsym(sym(f)),{A,b})+、、、subs(sym(f),findsym(sym(f)),{A,B}));els