




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 實驗2.1 多項式插值的振蕩現(xiàn)象實驗?zāi)康模涸谝粋€固定的區(qū)間上用插值逼近一個函數(shù),顯然Lagrange插值中使用的節(jié)點越多,插值多項式的次數(shù)就越高。我們自然關(guān)心插值多項式的次數(shù)增加時,Ln(x)是否也更加靠近被逼近的函數(shù)。Runge給出的一個例子是極著名并富有啟發(fā)性的。實驗容:設(shè)區(qū)間-1,1上函數(shù) f(x)=1/(1+25x2)。考慮區(qū)間-1,1的一個等距劃分,分點為 xi= -1 + 2i/n,i=0,1,2,n,則拉格朗日插值多項式為.其中,li(x),i=0,1,2,n是n次Lagrange插值基函數(shù)。實驗步驟與結(jié)果分析:實驗源程序function Chap2Interpolation%
2、 數(shù)值實驗二:“實驗2.1:多項式插值的震蕩現(xiàn)象”% 輸入:函數(shù)式選擇,插值結(jié)點數(shù)% 輸出:擬合函數(shù)及原函數(shù)的圖形promps = '請選擇實驗函數(shù),若選f(x),請輸入f,若選h(x),請輸入h,若選g(x),請輸入g:'titles = 'charpt_2'result = inputdlg(promps,'charpt 2',1,'f');Nb_f = char(result);if(Nb_f = 'f' & Nb_f = 'h' & Nb_f = 'g')er
3、rordlg('實驗函數(shù)選擇錯誤!');return;endresult = inputdlg('請輸入插值結(jié)點數(shù)N:','charpt_2',1,'10');Nd = str2num(char(result);if(Nd <1)errordlg('結(jié)點輸入錯誤!');return;endswitch Nb_f case 'f' f=inline('1./(1+25*x.2)'); a = -1;b = 1; case 'h' f=inline('x./
4、(1+x.4)'); a = -5; b = 5; case 'g' f=inline('atan(x)'); a = -5; b= 5;end x0 = linspace(a, b, Nd+1); y0 = feval(f, x0); x = a:0.1:b; y = Lagrange(x0, y0, x); fplot(f, a b, 'co'); hold on; plot(x, y, 'b-'); xlabel('x'); ylabel('y = f(x) o and y = Ln(x)-&
5、#39;);%-function y=Lagrange(x0, y0, x);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實驗結(jié)果分析(1)增大分點n=2,3,時,拉格朗日插值函數(shù)曲線如圖所示。 n=6 n=7 n=8 n=9 n=10從圖中可以看出,隨著n的增大,拉格朗日插值函數(shù)在x=0附近較好地逼近了原來的函數(shù)f
6、(x),但是卻在兩端x= -1和x=1處出現(xiàn)了很大的振蕩現(xiàn)象。并且,仔細(xì)分析圖形,可以看出,當(dāng)n為奇數(shù)時,雖然有振蕩,但振蕩的幅度不算太大,n為偶數(shù)時,其振蕩幅度變得很大。通過思考分析,我認(rèn)為,可能的原因是f(x)本身是偶函數(shù),如果n為奇數(shù),那么Lagrange插值函數(shù)Ln(x)的最高次項xn-1是偶次冪,比較符合f(x)本身是偶函數(shù)的性質(zhì);如果n為偶數(shù),那么Lagrange插值函數(shù)Ln(x)的最高次項xn-1是奇次冪,與f(x)本身是偶函數(shù)的性質(zhì)相反,因此振蕩可能更劇烈。(2)將原來的f(x)換為其他函數(shù)如h(x)、g(x),結(jié)果如圖所示。其中h(x), g(x)均定義在-5,5區(qū)間上,h(
7、x)=x/(1+x4),g(x)=arctan x。h(x), n=7 h(x), n=8h(x), n=9 h(x), n=10g(x), n=7g(x), n=8g(x), n=9g(x), n=10分析兩個函數(shù)的插值圖形,可以看出:隨著n的增大,拉格朗日插值函數(shù)在x=0附近較好地逼近了原來的函數(shù)f(x),但是卻在兩端x= -5和x=5處出現(xiàn)了很大的振蕩現(xiàn)象。并且,仔細(xì)分析圖形,可以看出,當(dāng)n為偶數(shù)時,雖然有振蕩,但振蕩的幅度不算太大,n為奇數(shù)時,其振蕩幅度變得很大。原因和上面f(x)的插值類似,h(x)、g(x)本身是奇函數(shù),如果n為偶數(shù),那么Lagrange插值函數(shù)Ln(x)的最高次項
8、xn-1是奇次冪,比較符合h(x)、g(x)本身是奇函數(shù)的性質(zhì);如果n為奇數(shù),那么Lagrange插值函數(shù)Ln(x)的最高次項xn-1是偶次冪,與h(x)、g(x)本身是奇函數(shù)的性質(zhì)相反,因此振蕩可能更劇烈。實驗3.1 多項式最小二乘擬合實驗?zāi)康模?編制以函數(shù)xkk=0,n;為基的多項式最小二乘擬合程序。實驗容: 對表中的數(shù)據(jù)作三次多項式最小二乘擬合。xi-1.0-0.50.00.51.01.52.0yi-4.447-0.4520.5510.048-0.4470.5494.552取權(quán)函數(shù)wi1,求擬合曲線中的參數(shù)k、平方誤差2,并作離散據(jù)xi, yi的擬合函數(shù)的圖形。實驗源程序function
9、 Chap3CurveFitting% 數(shù)值實驗三:“實驗3.1”% 輸出:原函數(shù)及求得的相應(yīng)插值多項式的函數(shù)的圖像以及參數(shù)alph和誤差rx0 = -1:0.5:2;y0 = -4.447 -0.452 0.551 0.048 -0.447 0.549 4.552;n = 3; % n為擬合階次alph = polyfit(x0, y0, n);y = polyval(alph, x0);r = (y0 -y)*(y0 -y)' % 平方誤差x = -1:0.01:2;y = polyval(alph, x);plot(x, y, 'k-');xlabel('
10、x'); ylabel('y0 * and polyfit.y-');hold onplot(x0, y0, '*')grid on;disp('平方誤差:', num2str(r)disp('參數(shù)alph:', num2str(alph)實驗結(jié)果平方誤差:2.1762e-005參數(shù)alph:1.9991 -2.9977 -3.9683e-005 0.54912實驗4.1 實驗?zāi)康模簭?fù)化求積公式計算定積分. 實驗題目:數(shù)值計算下列各式右端定積分的近似值. 實驗要求: (1)若用復(fù)化梯形公式、復(fù)化Simpson公式和復(fù)化Ga
11、uss-Legendre I 型公式做計算,要求絕對誤差限為,分別利用它們的余項對每種算法做出步長的事前估計. (2)分別用復(fù)化梯形公式,復(fù)化Simpson 公式和復(fù)化Gauss-Legendre I 型公式作計算. (3)將計算結(jié)果與精確解做比較,并比較各種算法的計算量. 實驗程序:1.事前估計的Matlab程序如下: (1)用復(fù)化梯形公式進行事前估計的Matlab程序 format long g x=2:0.01:3; f=-4*(3*x.2+1)./(x.2-1).3; %二階導(dǎo)函數(shù) %plot(x,f) %畫出二階導(dǎo)函數(shù)圖像 x=2.0; %計算導(dǎo)函數(shù)最大值 f=-4*(3*x2+1)
12、/(x2-1)3; h2=0.5*10(-7)*12/f; h=sqrt(abs(h2) %步長 n=1/h; n=ceil(1/h)+1 %選取的點數(shù) format long g x=0:0.01:1; f=8.*(3*x.2-1)./(x.2+1).3; %二階導(dǎo)函數(shù) %plot(x,f) %畫出二階導(dǎo)函數(shù)圖像 x=1; %計算導(dǎo)函數(shù)最大值 f=8.*(3*x.2-1)./(x.2+1).3; h2=0.5*10(-7)*12/f; h=sqrt(abs(h2) %步長 n=1/h n=ceil(1/h)+1 %選取的點數(shù) format long g x=0:0.01:1; f=log(3
13、).*log(3).*3.x; %二階導(dǎo)函數(shù) %plot(x,f); %畫出二階導(dǎo)函數(shù)圖像 x=1; %計算導(dǎo)函數(shù)最大值 f=log(3)*log(3)*3x; h2=0.5*10(-7)*12/f; h=sqrt(abs(h2) %步長 n=1/h n=ceil(1/h)+1 %選取的點數(shù) format long g x=1:0.01:2; f=2.*exp(x)+x.*exp(x);%二階導(dǎo)函數(shù) %plot(x,f) %畫出二階導(dǎo)函數(shù)圖像 x=2; %計算導(dǎo)函數(shù)最大值 f=2.*exp(x)+x.*exp(x); h2=0.5*10(-7)*12/f; h=sqrt(abs(h2) %步長
14、 n=1/h n=ceil(1/h)+1 %選取的點數(shù)估計結(jié)果步長h及結(jié)點數(shù)n分別為 h = 0.8 n =1793 h =0.6 n =1827 h =0.9 n =2458 h =0.9 n =7020 (2)用復(fù)化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;%四階導(dǎo)函數(shù) x=2.0; f=-2*(-72*x2-24)*(x2-1)-192*x2*(x2+1)/(x2-1)5; %計算導(dǎo)函數(shù)最大值 h4=0.5*10(-7)
15、*180*16/f; h=sqrt(sqrt(abs(h4) %步長 n=1/h; %求分段區(qū)間個數(shù) n=2*ceil(1/h)+1 %選取的點數(shù) format long g x=0:0.01:1; f=4*(-72*x.2+24).*(x.2+1)-192*x.2.*(-x.2+1)./(x.2+1).5;%四階導(dǎo)函數(shù) x=1; f=4*(-72*x2+24)*(x2+1)-192*x2*(-x2+1)/(x2+1)5; %計算導(dǎo)函數(shù)最大值 h4=0.5*10(-7)*180*16/f; h=sqrt(sqrt(abs(h4)%步長 n=1/h; %求分段區(qū)間個數(shù) n=2*ceil(1/h)
16、+1 %選取的點數(shù) format long g x=0:0.01:1; f=log(3)4*3.x;%四階導(dǎo)函數(shù) x=1; f=log(3)4*3.x;%計算導(dǎo)函數(shù)最大值 h4=0.5*10(-7)*180*16/f; h=sqrt(sqrt(abs(h4)%步長 n=1/h; %求分段區(qū)間個數(shù) n=2*ceil(1/h)+1 %選取的點數(shù) format long g x=1:0.01:2; f=4*exp(x)+x.*exp(x);%四階導(dǎo)函數(shù) plot(x,f) %畫出原函數(shù) x=2; f=4*exp(x)+x.*exp(x); %計算導(dǎo)函數(shù)最大值 h4=0.5*10(-7)*180*16
17、/f; h=sqrt(sqrt(abs(h4) n=1/h; %求分段區(qū)間個數(shù) n=2*ceil(1/h)+1 %選取的點數(shù) 估計結(jié)果步長h及結(jié)點數(shù)n分別為 h =0.13411 n =47 h =0.76542 n =35 h =0.18433 n =29 h =0.18546 n =49 2. 積分計算的Matlab程序: format long g promps='請選擇積分公式,若用復(fù)化梯形,請輸入T,用復(fù)化simpson,輸入S,用復(fù)化Gauss_Legendre,輸入GL:' result=inputdlg(promps,'charpt 4',1,&
18、#39;T'); Nb=char(result); if(Nb='T'&Nb='S'&Nb='GL') errordlg('積分公式選擇錯誤'); return; end result=inputdlg('請輸入積分式題號1-4:','實驗4.1',1,'1'); Nb_f=str2num(char(result); if(Nb_f<1|Nb_f>4) errordlg('沒有該積分式'); return; end switch N
19、b_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=inline('3.x');a=0;b=1; case 4 fun=inline('x.*exp(x)');a=1;b=2; end if(Nb='T')%用復(fù)化梯形公式 promps='請輸入用復(fù)化梯形公式應(yīng)取的步長:' result=inputdlg(promps,'實驗4.2',1,&
20、#39;0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!'); return; end tic; N=floor(b-a)/h); detsum=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; t end if(Nb='S')%用復(fù)化Simpson公式 promps='請輸入用復(fù)化Simpson公式應(yīng)取的步長:' resul
21、t=inputdlg(promps,'實驗4.2',1,'0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!'); return; 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=
22、h*(fun(a)+fun(b)+2*detsum_1+4*detsum_2)/6; time=toc; t end if(Nb='GL')%用復(fù)化Gauss_Legendre I %先根據(jù)復(fù)化Gauss_Legendre I公式的余項估計步長 promps='請輸入用復(fù)化Gauss_Legendre I 公式應(yīng)取的步長:' result=inputdlg(promps,'實驗4.2',1,'0.01'); h=str2num(char(result); if(h<=0) errordlg('請輸入正確的步長!
23、9;); 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/2; time=toc; t end switch Nb_f case 1 disp('精確解:ln2-ln3=-0.4054651081') disp('絕對誤差:',num2str(abs(t+0.4054651081); disp('運行時間:',num2str(time); case 2 dis
24、p('精確解:pi=3.979') disp('絕對誤差:',num2str(abs(t-pi); disp('運行時間:',num2str(time); case 3 disp('精確解:2/ln3=1.368') disp('絕對誤差:',num2str(abs(t-1.368); disp('運行時間:',num2str(time); case 4 disp('精確解:e2=7.065') disp('絕對誤差:',num2str(abs(t-7.065); d
25、isp('運行時間:',num2str(time); end1. 當(dāng)選用復(fù)化梯形公式時: (1)式運行結(jié)果為: t =-0.351 精確解:ln2-ln3=-0.4054651081 絕對誤差:1.3944e-008 運行時間:0.003 (2)式運行結(jié)果為: t =3.336 精確解:pi=3.979 絕對誤差:3.9736e-008 運行時間:0.005 (3)式運行結(jié)果為: t = 1.861 精確解:2/ln3=1.368 絕對誤差:4.3655e-008 運行時間:0.016 (4)式運行結(jié)果為: t =7.610 精確解:e2=7.065 絕對誤差:2.0775e-
26、008 運行時間:0.007 2. 當(dāng)選用復(fù)化Simpson公式進行計算時: (1)式運行結(jié)果為: t =-0.7519 精確解:ln2-ln3=-0.4054651081 絕對誤差:2.7519e-011 運行時間:0.022 (2)式運行結(jié)果為: t =3.979 精確解:pi=3.979 絕對誤差:0 運行時間:0.021 (3)式運行結(jié)果為: t =1.288 精確解:2/ln3=1.368 絕對誤差:9.2018e-012 運行時間:0.019 (4)式運行結(jié)果為: t =7.118 精確解:e2=7.065 絕對誤差:9.0528e-011 運行時間:0.021 3. 當(dāng)選用復(fù)化G
27、auss-Legendre I型公式進行計算時: (1)式運行結(jié)果為: t =-0.5262 精確解:ln2-ln3=-0.4054651081 絕對誤差:4.7385e-012 運行時間:0.023 (2)式運行結(jié)果為: t =3.979 精確解:pi=3.979 絕對誤差:1.3323e-015 運行時間:0.021 (3)式運行結(jié)果為: t =1.754 精確解:2/ln3=1.368 絕對誤差:6.1431e-012 運行時間:0.019 (4)式運行結(jié)果為: t =7.046 精確解:e2=7.065 絕對誤差:1.441e-012 運行時間:0.021 結(jié)果分析: 當(dāng)選用復(fù)化梯形公
28、式時,對步長的事前估計所要求的步長很小,選取的節(jié)點很多,誤差絕對限要達(dá)到時,對不同的函數(shù)n 的取值需達(dá)到1000-10000之間,計算量是很大。 用復(fù)化simpson公式對步長的事前估計所要求的步長相對大些,選取的節(jié)點較少,誤差絕對限要達(dá)到時,對不同的函數(shù)n的取值只需在10-100之間,計算量相對小了很多,可滿足用較少的節(jié)點達(dá)到較高的精度,比復(fù)化梯形公式的計算量小了很多。用復(fù)化simpson公式計算所得的結(jié)果比用復(fù)化梯形公式計算所得的結(jié)果精度高很多,而且計算量小。 當(dāng)選用Gauss-Lagrange I型公式進行計算時,選用較少的節(jié)點就可以達(dá)到很高的精度。實驗5.1 常微分方程性態(tài)和R-K法穩(wěn)
29、定性試驗實驗?zāi)康模嚎疾煜旅嫖⒎址匠逃叶隧椫泻瘮?shù)y前面的參數(shù)對方程性態(tài)的影響(它可使方程為好條件的或壞條件的)和研究計算步長對R-K法計算穩(wěn)定性的影響。實驗容及要求: 實驗題目:常微分方程初值問題其中,。其精確解為。實驗要求:本實驗題都用4階經(jīng)典R-K法計算。(1)對參數(shù)a分別取4個不同的數(shù)值:一個大的正值,一個小的正值,一個絕對值小的負(fù)值和一個絕對值大的負(fù)值。取步長h=0.01,分別用經(jīng)典的R-K法計算,將四組計算結(jié)果畫在同一圖上,進行比較并說明相應(yīng)初值問題的性態(tài)。(2)取參數(shù)a為一個絕對值不大的負(fù)值和兩個計算步長,一個步長使參數(shù)ah在經(jīng)典R-K法的穩(wěn)定域,另一個步長在經(jīng)典R-K法的穩(wěn)定域外。
30、分別用經(jīng)典R-K法計算并比較計算結(jié)果。取全域等距的10個點上的計算值,列表說明。實驗程序:Matlab程序如下:function charp5RK%數(shù)值試驗5.1:常微分方程性態(tài)和R-K法穩(wěn)定性試驗%輸入:參數(shù)a,步長h%輸出:精確解和數(shù)值解圖形對比%clf;result=inputdlg('請輸入-50,50間的參數(shù)a:','實驗5.1',1,'-40');a=str2num(char(result); if (a<-50|a>50) errordlg('請輸入正確的參數(shù)a!'); return;endresult=inputdlg('請輸入(0 1)之間的步長:','實驗5.1'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療AI輔助診斷系統(tǒng)的技術(shù)原理與優(yōu)勢
- 腦損傷后綜合征的臨床護理
- 9月工作總結(jié)模版
- 公司材料欠款合同范例
- 人音版音樂四上搖籃曲舒伯特教學(xué)設(shè)計
- 醫(yī)療領(lǐng)域的教育與人才培養(yǎng)全案設(shè)計
- app平臺 合同范例
- 保潔用品供貨合同范例
- 產(chǎn)品招商加盟合同范例
- 保證中標(biāo)居間協(xié)議合同范例
- 佳力圖ME系列空調(diào)日常操作維護
- 肩難產(chǎn)的處理PPT
- 一年級數(shù)學(xué)下冊-應(yīng)用題專項練習(xí)
- 2021人教版新教材高中英語必修三全冊課文翻譯(中英文Word)
- 研究生入學(xué)體檢表
- 工控培訓(xùn)教程、手冊合集倍福plc從入門到精通
- 三年級下冊美術(shù)教案-第11課 門票設(shè)計-非遺館|浙美版
- I-am-a-bunny-繪本教學(xué)課件
- 養(yǎng)老院 入住申請表
- TwinCAT-CNC-入門教程
- 基于android平臺的實時公交查詢系統(tǒng)方案
評論
0/150
提交評論