拉格朗日插值、牛頓插值的matlab代碼_第1頁
拉格朗日插值、牛頓插值的matlab代碼_第2頁
拉格朗日插值、牛頓插值的matlab代碼_第3頁
拉格朗日插值、牛頓插值的matlab代碼_第4頁
拉格朗日插值、牛頓插值的matlab代碼_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上實驗五 多項式插值逼近信息與計算科學金融 崔振威 1一、 實驗目的:拉格朗日插值和牛頓插值的數(shù)值實現(xiàn)二、 實驗內容:p171.1、p178.1、龍格現(xiàn)象數(shù)值實現(xiàn)三、 實驗要求:1、 根據(jù)所給題目構造相應的插值多項式,2、 編程實現(xiàn)兩類插值多項式的計算3、 試分析多項式插值造成龍格現(xiàn)象的原因主程序1、拉格朗日function c,l=lagran(x,y)%c為多項式函數(shù)輸出的系數(shù)%l為矩陣的系數(shù)多項式%x為橫坐標上的坐標向量%y為縱坐標上的坐標向量w=length(x);n=w-1;l=zeros(w,w);for k=1:n+1 v=1; for j=1:n+1 i

2、f k=j v=conv(v,poly(x(j)/(x(k)-x(j) %對多項式做卷積運算 end end l(k,:)=v;endc=y*l;牛頓插值多項式主程序function p2,z=newTon(x,y,t) %輸入?yún)?shù)中x,y為元素個數(shù)相等的向量%t為插入的定點%p2為所求得的牛頓插值多項式%z為利用多項式所得的t的函數(shù)值。n=length(x); chaS(1)=y(1);for i=2:n x1=x;y1=y; x1(i+1:n)=; y1(i+1:n)=; n1=length(x1); s1=0; for j=1:n1 t1=1; for k=1:n1 if k=j %如果

3、相等則跳出循環(huán) continue; else t1=t1*(x1(j)-x1(k); end end s1=s1+y1(j)/t1; end chaS(i)=s1;endb(1,:)=zeros(1,n-1) chaS(1);cl=cell(1,n-1); %cell定義了一個矩陣for i=2:n u1=1; for j=1:i-1 u1=conv(u1,1 -x(j); %conv()用于多項式乘法、矩陣乘法 cli-1=u1; end cli-1=chaS(i)*cli-1; b(i,:)=zeros(1,n-i),cli-1;endp2=b(1,:);for j=2:n p2=p2+b

4、(j,:);endif length(t)=1 rm=0; for i=1:n rm=rm+p2(i)*t(n-i); end z=rm;else k1=length(t); rm=zeros(1,k1); for j=1:k1 for i=1:n rm(j)=rm(j)+p2(i)*t(j)(n-i); end z=rm; endendplot(t,z,'y',x,y,'*r') %輸出牛頓插值多項式的函數(shù)圖p171.1(a) 、f(x)=ex解:在matlab窗口中輸入:>> x=0 0.2 0.4 0.6 0.8 1;>> y=ex

5、p(0) exp(0.2) exp(0.4) exp(0.6) exp(0.8) exp(1)y = 1.0000 1.2214 1.4918 1.8221 2.2255 2.7183>> c,l=lagran(x,y)可以得出輸出結果為:c = 0.0139 0.0349 0.1704 0.4991 1.0001 1.0000l = -26.0417 78.1250 -88.5417 46.8750 -11.4167 1.0000 130.2083 -364.5833 369.7917 -160.4167 25.0000 0 -260.4167 677.0833 -614.583

6、3 222.9167 -25.0000 0 260.4167 -625.0000 510.4167 -162.5000 16.6667 0 -130.2083 286.4583 -213.5417 63.5417 -6.2500 0 26.0417 -52.0833 36.4583 -10.4167 1.0000 0由輸出結果可以的出:P(x)的系數(shù)分別為:a0=0.0139 a1=0.0349 a2=0.1704 a3=0.4991 a4=1.0001 a5=1.0000(b) 、f(x)=sin(x)解:在matlab窗口中輸入:>> x=0 0.2 0.4 0.6 0.8 1

7、;>> y=sin(0) sin(0.2) sin(0.4) sin(0.6) sin(0.8) sin(1);>> c,l=lagran(x,y)可以得出輸出結果為:c = 0.0073 0.0016 -0.1676 0.0002 1.0000 0l = -26.0417 78.1250 -88.5417 46.8750 -11.4167 1.0000 130.2083 -364.5833 369.7917 -160.4167 25.0000 0 -260.4167 677.0833 -614.5833 222.9167 -25.0000 0 260.4167 -62

8、5.0000 510.4167 -162.5000 16.6667 0 -130.2083 286.4583 -213.5417 63.5417 -6.2500 0 26.0417 -52.0833 36.4583 -10.4167 1.0000 0由輸出結果可以的出:P(x)的系數(shù)分別為:a0=0.0073 a1=0.0016 a2=-0.1676 a3=0.0002 a4=1.0000 a5=0(c) 、f(x)=(x+1)x+1解:在matlab窗口中輸入:>> x=0 0.2 0.4 0.6 0.8 1;>> y=1 1.21.2 1.41.4 1.61.6 1

9、.81.8 22;>> c,l=lagran(x,y)可以得出輸出結果為:c = 0.3945 -0.0717 0.7304 0.9415 1.0052 1.0000l = -26.0417 78.1250 -88.5417 46.8750 -11.4167 1.0000 130.2083 -364.5833 369.7917 -160.4167 25.0000 0 -260.4167 677.0833 -614.5833 222.9167 -25.0000 0 260.4167 -625.0000 510.4167 -162.5000 16.6667 0 -130.2083 28

10、6.4583 -213.5417 63.5417 -6.2500 0 26.0417 -52.0833 36.4583 -10.4167 1.0000 0由輸出結果可以的出:P(x)的系數(shù)分別為:a0=0.3945 a1=-0.0717 a2=0.7304 a3=0.9415 a4=1.0052 a5=1.0000P178.12、 a0=5 a1=-2 a2=0.5 a3=-0.1 a4=0.003 x0=0 x1=1 x2=2 x3=3 c=2.5解:在matlab窗口中輸入:>> x=5 -2 0.5 -0.1;>> y=0 1 2 3;>> t=0:0.1:2.5;>> u,v=newTon(x,y,t)可得出輸出結果:u = 0.1896 -0.7843 -1.3928 2.8688v =2.8688 2.7218 2.5603 2.3855 2.1983 2.0000 1.7917 1.5745 1.3497 1.1182 0.8813 0.6401 0.3957 0.1493 -0.0980 -0.3451 -0.5908 -0.8340 -1.0735 -1.3082 -1.5370 -1.7588 -1.9723 -2.1765-2.3702 -2.5523由此可以求出牛頓多項式為: f(x)=0.

溫馨提示

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

評論

0/150

提交評論