




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上高斯勒讓德積分公式摘要:高斯勒讓德積分公式可以用較少節(jié)點(diǎn)數(shù)得到高精度的計(jì)算結(jié)果,是現(xiàn)在現(xiàn)實(shí)生活中經(jīng)常運(yùn)用到的數(shù)值積分法。然而,當(dāng)積分區(qū)間較大時(shí),積分精度并不理想。The adva ntage of Gauss-Legendre integral formula is tend to get high-precision calculational result by using fewer Gauss-points, real life is now often applied numerical integration method. But the precisi
2、on is not good when the length of integral interval is longer.關(guān)鍵字: 積分計(jì)算,積分公式,高斯勒讓德積分公式,MATLABKeyword:Integral Calculation , Integral formula ,Gauss-Legendre integral formula, Matlab引言:眾所周知,的兩大部分是微分與積分。微分實(shí)際上是求一函數(shù)的,而積分是已知一函數(shù)的導(dǎo)數(shù),求這一函數(shù)。所以,微分與積分互為逆運(yùn)算。實(shí)際上,積分還可以分為兩部分。第一種,是單純的積分,也就是已知導(dǎo)數(shù)求原函數(shù),稱為不定積分。相對而言,另一種就
3、是定積分了,之所以稱其為定積分,是因?yàn)樗e分后得出的值是確定的,是一個(gè)數(shù),而不是一個(gè)函數(shù)。計(jì)算定積分的方法很多,而高斯勒讓德公式就是其中之一。高斯積分法是精度最高的插值型數(shù)值積分,具有2n+1階精度,并且高斯積分總是穩(wěn)定。而高斯求積系數(shù),可以由Lagrange多項(xiàng)式插值系數(shù)進(jìn)行積分得到。高斯勒讓德求積公式是構(gòu)造高精度差值積分的最好方法之一。他是通過讓節(jié)點(diǎn)和積分系數(shù)待定讓函數(shù)f(x)以此取i=0,1,2.n次多項(xiàng)式使其盡可能多的能夠精確成立來求出積分節(jié)點(diǎn)和積分系數(shù)。高斯積分的代數(shù)精度是2n-1,而且是最高的。通常運(yùn)用的是(-1,1)的積分節(jié)點(diǎn)和積分系數(shù),其他積分域是通過變換x=(b-a)t/2&
4、#160; +(a+b)/2 變換到-1到1之間積分。1. 現(xiàn)有的方法和理論1.1高斯 勒讓德求積公式在高斯求積公式(4.5.1)中,若取權(quán)函數(shù),區(qū)間為,則得公式 我們知道勒讓德多項(xiàng)式是區(qū)間上的正交多項(xiàng)式,因此,勒讓德多項(xiàng)式的零點(diǎn)就是求積公式(上式)的高斯點(diǎn)形如(上式)的高斯公式特別地稱為高斯勒讓德求積公式若取的零點(diǎn)做節(jié)點(diǎn)構(gòu)造求積公式令它對準(zhǔn)確成立,即可定出這樣構(gòu)造出的一點(diǎn)高斯勒讓德求積公式是中矩形公式再取的兩個(gè)零點(diǎn)構(gòu)造求積公式令它對都準(zhǔn)確成立,有由此解出,從而得到兩點(diǎn)高斯勒讓德求積公式三點(diǎn)高斯勒讓德求積公式的形式是如表列出高斯勒讓德求積公式的節(jié)點(diǎn)和系數(shù)00.2.10.1.20.0
5、.0.0.30.0.0.0.40.0.0.0.0.0.公式(4.5.9)的余項(xiàng)由(4.5.8)得,這里是最高項(xiàng)系數(shù)為的勒讓德多項(xiàng)式,由(3.2.6)及(3.2.7)得 當(dāng)時(shí),有它比辛普森公式余項(xiàng)還小,且比辛普森公式少算一個(gè)函數(shù)值當(dāng)積分區(qū)間不是,而是一般的區(qū)間時(shí),只要做變換可將化為,這時(shí) 對等式右端的積分即可使用高斯勒讓德求積公式1.2復(fù)化Gauss-Legendre求積公式將被積區(qū)間m等分, 記, 作變換在每個(gè)小區(qū)間上應(yīng)用Gauss-Legendre公式, 累加即得復(fù)化Gauss-Legendre求積公式不妨設(shè)則有:Gauss點(diǎn)個(gè)數(shù)時(shí),Gauss點(diǎn)個(gè)數(shù)時(shí),總結(jié)復(fù)化Gauss-Legendre求
6、積過程如下:1. 分割區(qū)間, 記錄區(qū)間端點(diǎn)值;2. 通過查表或求解非線性方程組, 在所有小區(qū)間上, 將Gauss系數(shù)和Gauss點(diǎn)的值代入變量替換后的公式;3. 將所有區(qū)間的結(jié)果累加, 即得到整個(gè)區(qū)間上的積分近似值.針對Gauss點(diǎn)個(gè)數(shù)和的復(fù)化Gauss-Legendre求積公式編寫的一個(gè)簡單的MATLAB函數(shù) compgauss() 如下: function = compgauss(a, b, n)% Composite Gauss Integration% Equation Type: n=2, n=3% Coded by Nan.Xiao 2010-05-25% Step.1 Divid
7、e Interval% Step.2 Calculate% Step.3 Sum Resultsformat longf = (x) exp(x).*sin(x);h=(b-a)/n;xk=zeros(n+1,1);xk(1,1)=a;xk(n+1,1)=b;fk1=zeros(n,1);fk2=zeros(n,1);for i=1:n-1 xk(i+1,1)=a+h*i;endfor j=1:n fk1(j)=f(xk(j)+xk(j+1)/2+(h/2)*(-1/sqrt(3)+. f(xk(j)+xk(j+1)/2+(h/2)*(1/sqrt(3);endfor r=1:n fk2(r)
8、=(5/9)*f(xk(r)+xk(r+1)/2+(h/2)*(-sqrt(15)/5)+. (8/9)*f(xk(r)+xk(r+1)/2+(h/2)*(0)+. (5/9)*f(xk(r)+xk(r+1)/2+(h/2)*(sqrt(15)/5);endmysum1=h*sum(fk1)/2;mysum2=h*sum(fk2)/2;disp('Result of 2 Nodes:')disp(mysum1);disp('Result of 3 Nodes:')disp(mysum2);end1.3龍貝格,三點(diǎn),五點(diǎn)以及變步長高斯勒讓德求積法以下是關(guān)于龍貝格,
9、三點(diǎn),五點(diǎn)以及變步長高斯勒讓德之間精度的相互比較#include <iostream.h> #include <math.h> #include <iomanip.h> #define Precision1 0.1 # define e 2. #define MAXRepeat 10 double function
10、60;(double x) double s; s=1/x; return s; double Romberg(double a,double b,double f(double x) int m,n,k; double yMAXRepeat,h,ep,p,xk,s,q; h=b-a; y0=h*(f(a)+f(b)/2.0;/計(jì)算T1(h)=1/2(b-a)(f(a)+f(b); m=1; n=1; ep=Pr
11、ecision1+1; while(ep>=Precision1)&&(m<MAXRepeat) p=0.0; for(k=0;k<n;k+) xk=a+(k+0.5)*h; p=p+f(xk); p=(y0+h*p)/2.0; /Tm(h/2),變步長梯形求積公式
12、;s=1.0; for(k=1;k<=m;k+) s=4.0*s;/ pow(4,m) q=(s*p-yk-1)/(s-1.0); yk-1=p; p=q; ep=fabs(q-ym-1); m=m+1; ym-1=q; n=n+n; / 2 4 8 16 h=h/2.0;/二倍分割區(qū)間 re
13、turn q; double ThreePointGaussLegendre(double a,double b,double f(double x) double x,w; static double X3=-sqrt(15)/5.0,0,sqrt(15)/5.0; static double L3=5/9.0,8/9.0,5/9.0; w=0.0; for(int
14、 i=0;i<3;i+) x=(b-a)*Xi+(b+a)/2.0;
15、0; w=w+f(x)*Li; return w; double FivePointGaussLegendre(double a,double b,double f(double x) double x,w; stat
16、ic double X5=-0.,-0.,0,0.,0.; static double L5=0.,0.,0.,0.,0.; w=0.0; for(int i=0;i<5;i+) &
17、#160; x=(b-a)*Xi+(b+a)/2.0; w=w+f(x)*Li;/每一次小區(qū)間利用勒讓德公式計(jì)算的結(jié)果
18、 return w; double FivePointPrecisionGaussLegendre(double a,double b,double f(double x) int m,i,j; double s,p,ep,h,aa,bb,w,x,g; static double X5=-0.,-0.,0,0.,0.; m=1; &
19、#160; h=b-a; s=fabs(0.001*h); p=1.0e+35; ep=Precision1+1; while(ep>=Precision1)&&(fabs(h)>s) g=0.0; for(i=0;i<
20、m;i+) aa=a+i*h; bb=aa+h; w=0.0;
21、0; for(j=0;j<=4;j+) x=(bb-aa)*Xj+(bb+aa)/2.0;
22、 w=w+f(x)*Lj; g=g+w;/各個(gè)區(qū)間計(jì)算結(jié)果之和相加 &
23、#160; g=g*h/2.0; ep=fabs(g-p)/(1.0+fabs(g);/計(jì)算精度 p=g; m=m+1;
24、 h=(b-a)/m;/分割區(qū)間 return g; main() double a,b,s; cout<<"請輸入積分下限:" cin>>a;
25、60; cout<<"請輸入積分上限:" cin>>b; cout<<"的真值為:"<<endl; cout<<"1."<<endl; /*龍貝格求積*/ s=Romberg( a, b
26、, function); cout<<"龍貝格求積公式:"<<endl; cout<<setiosflags(ios:fixed)<<setprecision(14)<<s<<endl; /*三點(diǎn)求積公式*/ s=ThreePointGaussLegendre( a, b,
27、function); cout<<"三點(diǎn)求積公式:"<<endl; cout<<setiosflags(ios:fixed)<<setprecision(14)<<s<<endl; /*五點(diǎn)求積公式*/ s=FivePointGaussLegendre( a, b, function)
28、; cout<<"五點(diǎn)求積公式"<<endl; cout<<setiosflags(ios:fixed)<<setprecision(14)<<s<<endl; s=FivePointPrecisionGaussLegendre(a, b,function); cout<<&quo
29、t;控制精度五點(diǎn)求積公式"<<endl; cout<<setiosflags(ios:fixed)<<setprecision(14)<<s<<endl; return 0; 2. 高斯勒讓德求積的程序2.1三點(diǎn)高斯勒讓德公式的代碼function gl=f(str,a,b)x=zeros(3,1);y=zeros(3,1);x(1)=-sqrt(15)/5;x(2)=0;x(3)=sqrt(15)/5;for i=1:3 t=(b-a)/2*x(i)+(a+b)/2; y(i)=eval(str);%exp(t)*sin(t);%此處為求積的函數(shù),t為自變量endgl=5/9*y(1)+8/9*y(2)+5/9*y(3);上面的代碼保存為f.m文件,調(diào)用的時(shí)候如下f('t*2',-1,1)f('exp(t)*sin(t)',1,3)其中第一個(gè)參數(shù)為求積分的表達(dá)式,第二三個(gè)參數(shù)分別
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省棗莊市山亭區(qū)2023-2024學(xué)年度第二學(xué)期期末六年級科學(xué)試題(含答案)
- 2025年中國兒童游樂設(shè)備行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報(bào)告
- 2025年電動(dòng)自行車項(xiàng)目成效分析報(bào)告
- 2025浙江寧波慈溪市煤氣有限公司招聘錄用人員筆試歷年參考題庫附帶答案詳解
- 2025-2031年中國開啟式干洗機(jī)行業(yè)發(fā)展前景預(yù)測及投資方向研究報(bào)告
- 2020-2025年中國農(nóng)村土地種植行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報(bào)告
- 中國防脫發(fā)市場競爭態(tài)勢及行業(yè)投資前景預(yù)測報(bào)告
- 中國旅居車輛行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃建議報(bào)告
- 2025年中國墨盒行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 中國電聲器件零部件市場全面調(diào)研及行業(yè)投資潛力預(yù)測報(bào)告
- 超市消防安全管理制度制度
- 酒店服務(wù)流程與空間布局優(yōu)化
- (2025)醫(yī)療護(hù)理員理論考試試題含答案
- 2025年廣西中考語文試題卷(含答案)
- 建設(shè)工程法律培訓(xùn)
- 2025年南京市中考數(shù)學(xué)真題試卷
- 2025年呼倫貝爾農(nóng)墾集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年重慶市中考數(shù)學(xué)試卷真題(含標(biāo)準(zhǔn)答案)
- 2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(97分)
- 湘少版小學(xué)全部英語單詞
- 電子秤cal標(biāo)定方法
評論
0/150
提交評論