matlab二重積分_第1頁
matlab二重積分_第2頁
matlab二重積分_第3頁
matlab二重積分_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一使用兩次一重積分%二重積分 f=(x,y)exp(sin(x)*ln(y),y 從 5*x 積分到 xA2,x 從 10 積分到 201(7.X 后版本才有此函數 quad2d)y1=quad2d(x,y)exp(sin(x).*log(y),10,20,(x)5*x,(x)x.A2)2y2=quadl(x)arrayfun(x)quadl(y)exp(sin(x).*log(y),5*x,x.A2),x),10,20)3y3=dblquad(x,y)exp(sin(x).*log(y).*(y=5*x&y=x.A2),10,20,50,400)詳細請看吳鵬老師的文章 dblquad

2、 函數q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)該函數求 f(x,y)在a,bC,d區域上的二重定積分。參數 tol,trace 的用法與函數 quad完全相同。例 8-5 計算二重定積分(1)建立一個函數文件 fxy.m:functionf=fxy(x,y)globalki;ki=ki+1;%ki 用于統計被積函數的調用次數f=exp(-x.A2/2).*sin(x.A2+y);調用 dblquad 函數求解。globalki;ki=0;I=dblquad(fxy,-2,2,-1,1)kiI=1.57449318974494ki=1038來源精

3、通 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),finds

4、ym(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)n;y=b+2 竽(B-b)m;x1=a+(2*i+1)*(A-a)n;y1=b+(2*j+1)*(B-b)m;x2=a+2*(i+1)*(A-a)n;y2=b+2*(j+1)*(B-b)m;q=q+

5、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),fin

6、dsym(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);else%復合梯形公式C=4*ones(n+1,m+1);C(1,:)=2;C(:,1)=

7、2;C(n+1,:)=2;C(:,m+1)=2;C(1,1)=1;C(1,m+1)=1;C(n+1,1)=1;C(n+1,m+1)=1;%C 矩陣endF=zeros(n+1,m+1);q=0;fori=0:nforj=0:mx=a+i*(A-a)/n;y=b+j*(B-b)/m;F(i+1,j+1)=subs(sym(f),findsym(sym(f),x,y);q=q+F(i+1,j+1)*C(i+1,j+1);endendq=(B-b)*(A-a)/4/m/n)*q;*以上為矩形區域求解*五變量區域二重積分quad2dggen功能任意區域上二元函數的數值積分格式q=quad2dggen(

8、fun,xlower,xupper,ymin,ymax)%在由xlower,xupper,ymin,ymax指定的區域上計算二元函數 z=f(x,y)的二重積分。q=dblquad(fun,xlower,xupper,ymin,ymax,tol)%用指定的精度 tol 代替缺省精度 10-6,再進行計算。q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定的算法 method 代替缺省算法。method 的取值有缺省算法或用戶指定的、與缺省命令有相同調用次序的函數句柄。q=dblquad(fun,xlower,xupper,ymin,ymax,to

9、l,method,p1,p2,%將可選參數p1,p2,.等傳遞給函數 fun(x,y,p1,p2,若 tol=,method=,則使用缺省精度和算法。例子參考 http:/ M 函數xlower=inline(,-sqrt(1-y.A2),y,);xupper=inline(sqrt(1-y.A2),y,);Q=quad2dggen(fun,xlower,xupper,-1,1,1e-4)Q=0.5368603818functionsanchongjifen%三重積分積分限可以是函數%模板 1:quadl(x)arrayfun(xx)quad2d(被積函數 f(xx,y,z)關于 y,z 變量

10、的函數句柄,%y積分下限 y1(xx),y積分上限 y2(xx),z 積分下限 z1(xx,y),z積分上限 z2(xx,y),x),x積分下限值,x 積分上限值)quadl(x)arrayfun(xx)quad2d(y,z)xx.*y.*z,xx,2*xx,(y)xx*y,(y)2*xx*y),x),1,2)%模板 2:quad2d(x,y)arrayfun(xx,yy)quadl(被積函數 f(xx,yy,z)關于 z 變量的函數句柄,z積分下限 z1(xx,yy),%z 積分上限 z2(xx,yy),x,y),x 積分下限值,x 積分上限值,y 積分下限 y1(x),y 積分上限y2(x)quad2d(x,y)arrayfun(xx,yy)quadl(z)xx.*yy.*z,xx*yy,2*xx*yy),x,y),1,2,(x)x,(x)2*x)%模板3:quadl(x)arrayfun(xx)quadl(y)arrayfun(yy)%quadl(被積函數f(xx,yy,z)關于 z 變量的函數句柄,z 積分下限 z1(xx,yy),%z 積

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論