




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上實驗 2.1 多項式插值的震蕩現象 問題提出:考慮在一個固定的區(qū)間上用插值逼近一個函數。顯然Lagrange插值中使用的節(jié)點越多,插值多項式的次數越高,我們自然關心插值多項式的次數增加時,是否也更加靠近被逼近的函數。Runge 給出的一個例子是極著名并富有啟發(fā)性的。設區(qū)間-1,1上函數 實驗內容:考慮空間-1,1的一個等距劃分,分點為 , 0,1,2 .,則拉格朗日插值多項式為 .其中,是次Lagrange插值基函數。實驗要求:(1) 選擇不斷增大的分點數目畫出原函數及插值多項式函數在-1,1上的圖像,比較并分析實驗結果。(2) 選擇其他的函數,例如定義在區(qū)間-5,5
2、上的函數 ,重復上述的實驗看其結果如何。首先編寫拉格朗日插值函數的Matlab實現:Matlab程序為:function y=lagrange(x0,y0,x) %Lagrange插值n=length(x0);m=length(x);for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if(j=k) p=p*(z-x0(j)/(x0(k)-x0(j); end end s=s+p*y0(k); end y(i)=s;end(1) 當函數為時,Matlab程序為:x=linspace(-1,1,100);y=1./(1+25*x.2);plot
3、(x,y)hold on;for i=2:2:10 x0=linspace(-1,1,i+1); y0=1./(1+25*x0.2); y=laglanri(x0,y0,x); plot(x,y,'r-') hold onend運行結果:結果分析:從圖上看到在區(qū)間-1,1的兩端點附近,隨著插值點數的增加,插值函數與偏離的越遠,而且出現了振蕩現象。(2) 當函數為時Matlab程序為:x=linspace(-5,5,100);y=x./(1+x.4);plot(x,y)hold on;for i=2:2:10 x0=linspace(-5,5,i+1); y0=x0./(1+x0
4、.4); y=laglanri(x0,y0,x); plot(x,y,'r-') hold onend運行結果:結果分析:從圖上看到在區(qū)間-5,5的兩端點附近,隨著插值點數的增加,插值函數與偏離的越遠,而且出現了振蕩現象。(3) 當函數為x=linspace(-5,5,100);y=atan(x);plot(x,y)hold on;for i=2:2:10 x0=linspace(-5,5,i+1); y0=atan(x0); y=laglanri(x0,y0,x); plot(x,y,'r-') hold onend運行結果:結果分析:從圖上看到在區(qū)間-5,5
5、的兩端點附近,隨著插值點數的增加,插值函數與偏離的越遠,而且出現了振蕩現象。實驗 3.1編制以函數為基的多項式最小二乘擬合程序,并用于對表3.11中的數據作3次多項式二乘擬合。- 1.0- 0.50.00.51.01.52.0-4.447-0.4520.5510.048-0.4470.5494.552取權數1,求擬合曲線中的參數、平方誤差,并作離散數據的擬合函數的圖像。Matlab程序如下:x0=-1:0.5:2;y0=-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552;alph=polyfit(x0,y0,n);%ployfit為最小二乘擬合函數,alp
6、h為系數(按降冪排列y=polyval(alph,x0);r=(y0-y)*(y0-y)'%平方誤差,注意平方的表達式x=-1:0.01:2;y=polyval(alph,x);plot(x,y,'k-');xlabel('x');ylabel('擬合曲線');hold on;plot(x0,y0,'*');title('離散數據的多項式擬合');grid on;disp('平方誤差:',sprintf('%g',r);disp('參數alph:',sprin
7、tf('%gt',alph)運行結果:平方誤差:2.17619e-005參數alph:1.99911-2.99767 -3.96825e-005 0.結果分析:根據給定的7個點的數據,所求的擬合函數的曲線可以基本地反映數據點的變化趨勢。所求的三次多項式為: 其最小平方誤差為:2.17619e-005。實驗4.1實驗目的:復化求積公式計算定積分.實驗目的:數值計算下列各式右端定積分的近似值.(1) ; (2);(3) ; (4);實驗要求:(1) 若用復化梯形公式、復化Simpson公式和復化Gauss-Legendre I 型公式做計算,要求絕對誤差限為,分別利用它們的余項對每
8、種算法做出步長的事前估計.(2) 分別用復化梯形公式,復化Simpson公式和復化Gauss-Legendre I 型公式作出計算.(3) 將計算結果與精確解做比較,并比較各種算法的計算量.事前估計的Matlab程序如下:1用復化梯形公式進行事前估計的Matlab程序format long g x=2:0.01:3;f=-4*(3*x.2+1)./(x.2-1).3; %二階導函數%plot(x,f) %畫出二階導函數圖像x=2.0; %計算導函數最大值f=-4*(3*x2+1)/(x2-1)3; h2=0.5*10(-7)*12/f;h=sqrt(abs(h2) %步長n=1/h; n=ce
9、il(1/h)+1 %選取的點數%222%format long gx=0:0.01:1;f=8.*(3*x.2-1)./(x.2+1).3;%二階導函數%plot(x,f) %畫出二階導函數圖像x=1; %計算導函數最大值f=8.*(3*x.2-1)./(x.2+1).3;h2=0.5*10(-7)*12/f;h=sqrt(abs(h2) %步長n=1/hn=ceil(1/h)+1 %選取的點數%333%format long gx=0:0.01:1;f=log(3).*log(3).*3.x;%二階導函數%plot(x,f); %畫出二階導函數圖像x=1; %計算導函數最大值f=log(3
10、)*log(3)*3x;h2=0.5*10(-7)*12/f;h=sqrt(abs(h2) %步長n=1/hn=ceil(1/h)+1 %選取的點數%format long gx=1:0.01:2;f=2.*exp(x)+x.*exp(x);%二階導函數%plot(x,f) %畫出二階導函數圖像x=2; %計算導函數最大值f=2.*exp(x)+x.*exp(x);h2=0.5*10(-7)*12/f;h=sqrt(abs(h2) %步長n=1/hn=ceil(1/h)+1 %選取的點數估計結果步長h及結點數n分別為h = 0.n = 1793h = 0.n = 1827h = 0.n = 2
11、458h = 0.n = 70202用復化simpson公式進行事前估計的Matlab程序format long g x=2:0.01:3;f=-2*(-72*x.2-24).*(x.2-1)-192*x.2.*(x.2+1)./(x.2-1).5;%四階導函數x=2.0;f=-2*(-72*x2-24)*(x2-1)-192*x2*(x2+1)/(x2-1)5; %計算導函數最大值h4=0.5*10(-7)*180*16/f; h=sqrt(sqrt(abs(h4) %步長n=1/h; %求分段區(qū)間個數n=2*ceil(1/h)+1 %選取的點數 %222%format long g x=0
12、:0.01:1;f=4*(-72*x.2+24).*(x.2+1)-192*x.2.*(-x.2+1)./(x.2+1).5;%四階導函數x=1;f=4*(-72*x2+24)*(x2+1)-192*x2*(-x2+1)/(x2+1)5; %計算導函數最大值h4=0.5*10(-7)*180*16/f;h=sqrt(sqrt(abs(h4)%步長n=1/h; %求分段區(qū)間個數n=2*ceil(1/h)+1 %選取的點數 %333%format long g x=0:0.01:1;f=log(3)4*3.x;%四階導函數x=1;f=log(3)4*3.x;%計算導函數最大值h4=0.5*10(-
13、7)*180*16/f;h=sqrt(sqrt(abs(h4)%步長n=1/h; %求分段區(qū)間個數n=2*ceil(1/h)+1 %選取的點數 %444%format long g x=1:0.01:2;f=4*exp(x)+x.*exp(x);%四階導函數plot(x,f) %畫出原函數x=2;f=4*exp(x)+x.*exp(x); %計算導函數最大值h4=0.5*10(-7)*180*16/f;h=sqrt(sqrt(abs(h4)n=1/h; %求分段區(qū)間個數n=2*ceil(1/h)+1 %選取的點數 估計結果步長h及結點數n分別為h = 0.13411n = 47h = 0.76
14、542n = 35h = 0.18433n = 29h = 0.18546n =49積分計算的Matlab程序:format long gpromps='請選擇積分公式,若用復化梯形,請輸入T,用復化simpson,輸入S,用復化Gauss_Legendre,輸入GL:'result=inputdlg(promps,'charpt 4',1,'T');Nb=char(result);if(Nb='T'&Nb='S'&Nb='GL') errordlg('積分公式選擇錯誤
15、9;); return;endresult=inputdlg('請輸入積分式題號1-4:','實驗4.1',1,'1');Nb_f=str2num(char(result);if(Nb_f<1|Nb_f>4) errordlg('沒有該積分式'); return;endswitch Nb_f case 1 fun=inline('-2./(x.2-1)');a=2;b=3; case 2 fun=inline('4./(x.2+1)');a=0;b=1; case 3 fun=inlin
16、e('3.x');a=0;b=1; case 4 fun=inline('x.*exp(x)');a=1;b=2;endif(Nb='T')%用復化梯形公式 promps='請輸入用復化梯形公式應取的步長:' result=inputdlg(promps,'實驗4.2',1,'0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!'); return; end tic; N=floor(b-a)/h); dets
17、um=0; for i=1:N-1 xk=a+i*h; detsum=detsum+fun(xk); end t=h*(fun(a)+fun(b)+2*detsum)/2; time=toc; tendif(Nb='S')%用復化Simpson公式 promps='請輸入用復化Simpson公式應取的步長:' result=inputdlg(promps,'實驗4.2',1,'0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!'); ret
18、urn; end tic; N=floor(b-a)/h); detsum_1=0; detsum_2=0; for i=1:N-1 xk_1=a+i*h; detsum_1=detsum_1+fun(xk_1); end for i=1:N xk_2=a+h*(2*i-1)/2; detsum_2=detsum_2+fun(xk_2); end t=h*(fun(a)+fun(b)+2*detsum_1+4*detsum_2)/6; time=toc; t endif(Nb='GL')%用復化Gauss_Legendre I %先根據復化Gauss_Legendre I公式的
19、余項估計步長 promps='請輸入用復化Gauss_Legendre I 公式應取的步長:' result=inputdlg(promps,'實驗4.2',1,'0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!'); return; end tic; N=floor(b-a)/h);t=0; for k=0:N-1 xk=a+k*h+h/2; t=t+fun(xk-h/(2*sqrt(3)+fun(xk+h/(2*sqrt(3); end t=t*h/
20、2; time=toc; tendswitch Nb_f case 1 disp('精確解:ln2-ln3=-0.') disp('絕對誤差:',num2str(abs(t+0.); disp('運行時間:',num2str(time); case 2 disp('精確解:pi=3.979') disp('絕對誤差:',num2str(abs(t-pi); disp('運行時間:',num2str(time); case 3 disp('精確解:2/ln3=1.368') disp(
21、'絕對誤差:',num2str(abs(t-1.368); disp('運行時間:',num2str(time); case 4 disp('精確解:e2=7.065') disp('絕對誤差:',num2str(abs(t-7.065); disp('運行時間:',num2str(time);end 運行結果:當選用復化梯形公式時:(1)式運行結果為:t = -0.351精確解:ln2-ln3=-0.絕對誤差:1.3944e-008運行時間:0.003(2)式運行結果為:t = 3.336精確解:pi=3.979絕對誤差:3.9736e-008運行時間:0.005(3)式運行結果為:t = 1.861精確解:2/ln3=1.368絕對誤差:4.3655e-008運行時間:0.016(4)式運行結果為:t = 7.610精確解:e2=7.065絕對誤差:2.0775e-008運行時間:0.007當選用復化Simpson公式進行計算時(1)式運行結果為:t = -0.7519精確解:ln2-ln3=-0.絕對誤差:2.7519e-011運行時間:0.022(2)式運行結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)污染控制與環(huán)保設備應用
- 工業(yè)生產中的能源優(yōu)化與節(jié)能實踐
- 工業(yè)自動化中的智能化控制策略研究
- 工業(yè)自動化與智能制造的融合發(fā)展趨勢
- 工業(yè)自動化與智能化發(fā)展
- 工業(yè)自動化技術及設備應用
- 工業(yè)自動化與機器人技術的關系
- 工業(yè)領域的環(huán)保科技創(chuàng)新
- 工作壓力下的團隊合作挑戰(zhàn)與對策
- 工業(yè)設計創(chuàng)新與技術美學
- 中國古茶樹資源狀況白皮書2025
- 牙科技術入股合作協議書
- 2025甘肅省農墾集團限責任公司人才招聘524人易考易錯模擬試題(共500題)試卷后附參考答案
- 溫泉水項目可行性分析報告(模板參考范文)
- 2024年海關總署在京直屬事業(yè)單位招聘筆試真題
- T/CCIAS 010-2023雞精調味料生產技術規(guī)范
- 廣州市天河區(qū)2024-2025學年八年級英語滬教版下冊期末模擬練習題【含答案解析】
- 2025年微觀經濟學與宏觀經濟學專業(yè)考試試卷及答案
- 逆境事件對企業(yè)在全球價值鏈系統韌性的影響
- 2025屆廣東省廣州市天河七年級生物第二學期期末復習檢測模擬試題含解析
- 2024年寧夏醫(yī)科大學總醫(yī)院招聘真題
評論
0/150
提交評論