版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)值分析》課程設(shè)計(jì)</p><p><b> 三次樣條插值算法</b></p><p> 院(系)名稱(chēng) 信息工程學(xué)院 </p><p> 專(zhuān) 業(yè) 班 級(jí) </p><p> 學(xué) 號(hào)
2、 </p><p> 學(xué) 生 姓 名 </p><p> 指 導(dǎo) 教 師 </p><p> 2012年06月08日</p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p> 2008—2009
3、學(xué)年第二學(xué)期</p><p> 課程設(shè)計(jì)名稱(chēng): 數(shù)值分析 </p><p> 設(shè)計(jì)題目: 三次樣條插值 </p><p> 完成期限:自 2012 年 6 月 8 日至 2012 年 6 月 13 日共 1 周</p><p> 設(shè)計(jì)依據(jù)、要求及主要內(nèi)容:</p>&
4、lt;p> 一、設(shè)計(jì)目的 </p><p> 熟練掌握三次樣條插值算法的原理和推導(dǎo)過(guò)程,并且能夠應(yīng)用Matlab軟件編寫(xiě)相應(yīng)的程序和使用Matlab軟件函數(shù)庫(kù)軟件。
5、 </p><p> 二、設(shè)計(jì)要求 </p><p> (1)用Matlab函數(shù)庫(kù)中相應(yīng)函數(shù)對(duì)選定的問(wèn)題,求出具有一定精度的結(jié)果。 </p><p> (2)使用所用的方法編寫(xiě)Matlab程序求解,對(duì)數(shù)值結(jié)果進(jìn)行分析。
6、 </p><p> (3)對(duì)于使用多個(gè)方法解同一問(wèn)題的,在界面上設(shè)計(jì)成菜單形式。 </p><p> 三、設(shè)計(jì)內(nèi)容 </p><p> 首先構(gòu)造三次樣條插值函數(shù)的定義和一般特征,
7、并對(duì)實(shí)例問(wèn)題進(jìn)行實(shí)例分析,并總結(jié) </p><p> 四、參考文獻(xiàn) </p><p> [1] 黃明游,馮果忱.數(shù)值分析[M].北
8、京:高等教育出版社,2008. </p><p> [2] 馬東升,雷勇軍.數(shù)值計(jì)算方法[M].北京:機(jī)械工業(yè)出版社,2006.
9、 [3] 石博強(qiáng),趙金.MATLAB數(shù)學(xué)計(jì)算與工程分析范例教程[M].北京:中國(guó)鐵道出版社.2005. </p><p> [4]郝紅偉,MATLAB 6,北京,中國(guó)電力出版社,2001
10、 </p><p> [5]姜健飛,胡良劍,數(shù)值分析及其MATLAB實(shí)驗(yàn), 科學(xué)出版社,2004 </p><p> [6]薛毅,數(shù)值分析實(shí)驗(yàn),北京工業(yè)大學(xué)出版社,2005 </p><p> 計(jì)劃答辯時(shí)間:2012年6月18日</p><p> 指導(dǎo)
11、教師(簽字): 教研室主任(簽字): </p><p><b> 三次樣條插值</b></p><p><b> 摘 要</b></p><p> 分段低次樣條插值雖然計(jì)算簡(jiǎn)單、穩(wěn)定性好、收斂性有保證且易在電子計(jì)算機(jī)上實(shí)現(xiàn),但只能保證各小段曲線(xiàn)在連接處的
12、連續(xù)性,不能保證整件曲線(xiàn)的光滑性。利用樣條插值,既可保持分段低次插值多項(xiàng)式,又可提高插值函數(shù)光滑性。故給出分段三次樣條插值的構(gòu)造過(guò)程、算法步驟,利用MATLAB軟件編寫(xiě)三次樣條插值函數(shù)通用程序,并通過(guò)數(shù)值算例證明程序的正確性。</p><p> 關(guān)鍵字:三次樣條 插值函數(shù) MATLAB編程 收斂性 算法步驟</p><p> 一 三次樣條函數(shù)定義及特征</p>
13、<p> 定義1:若函數(shù),且在每個(gè)小區(qū)間上上是三次多項(xiàng)式,其中 是給定節(jié)點(diǎn),則稱(chēng)是節(jié)點(diǎn)上的三次樣條函數(shù)。若節(jié)點(diǎn)上 給定函數(shù)值 ,且 </p><p><b> (1.1)</b></p><p> 成立,則稱(chēng) 為三次樣條差值函數(shù)。</p><p> 從定義知,要求出,在每個(gè)應(yīng)小區(qū)間 上確定4個(gè)待定系數(shù),共有 n個(gè)小區(qū)間,故應(yīng)確
14、定4n 個(gè)參數(shù),根據(jù) 在 上二階導(dǎo)數(shù)連續(xù),在節(jié)點(diǎn)處應(yīng)滿(mǎn)足連續(xù)性條件</p><p><b> (1.2)</b></p><p> 共有 3n-3個(gè)條件,再加上滿(mǎn)足插值條件(1.1),共有4n-2個(gè)條件,因此還需要2個(gè)條件才能確定。通??稍趨^(qū)間 端點(diǎn)上各加一個(gè)條件(稱(chēng)邊界條件),邊界條件可根據(jù)實(shí)際的問(wèn)題要求給定。常見(jiàn)的三種:</p><p>
15、; (1) 已知兩端的一節(jié)導(dǎo)數(shù)值,即</p><p><b> (1.3)</b></p><p> (2)兩端的二階導(dǎo)數(shù)已知,即</p><p><b> (1.4)</b></p><p> 特殊情況下的邊界條件</p><p> ?。?.4)’
16、</p><p><b> 稱(chēng)為自然邊界條件</b></p><p> ?。?)當(dāng)是以 為周期函數(shù)時(shí),則要求 也是周期函數(shù),這時(shí)邊界條件應(yīng)滿(mǎn)足</p><p> 而此時(shí)式中 , 這樣確定的樣條函數(shù) 稱(chēng)為周期函數(shù)。</p><p> 二 函數(shù)推導(dǎo)原理及構(gòu)造</p><p> 我們采用待定
17、一階導(dǎo)數(shù)的方法即設(shè)S(Xj)=Mj,j=0,1,...,n,因?yàn)榉侄稳蜨ermite插值多項(xiàng)式已經(jīng)至少是一階連續(xù)可導(dǎo)了,為了讓它成為三次樣條函數(shù)只需確定節(jié)點(diǎn)處的一階導(dǎo)數(shù)使這些節(jié)點(diǎn)處的二階導(dǎo)數(shù)連續(xù)即可!</p><p> 由于在內(nèi)部節(jié)點(diǎn)處二階導(dǎo)數(shù)連續(xù)條件:</p><p><b> 整理化簡(jiǎn)后得:</b></p><p> 第一類(lèi)三次樣條
18、插值問(wèn)題方程組由于已知:</p><p> 基本方程組化為n-1階方程組</p><p><b> 化為矩陣形式</b></p><p><b> \</b></p><p> 這是一個(gè)嚴(yán)格對(duì)角占優(yōu)的三對(duì)角方程組,用追趕法可以求解!</p><p> 第二類(lèi)三次樣條
19、插值問(wèn)題的方程組,由于已知:</p><p><b> 故得:</b></p><p><b> 稍加整理得</b></p><p> 聯(lián)合基本方程組得一個(gè)n+1階三對(duì)角方程組,化成矩陣形式為:仍然是嚴(yán)格對(duì)角占優(yōu)</p><p> 第三類(lèi)樣條插值問(wèn)題的方程組,由于:</p>&
20、lt;p><b> 立即可得下式:</b></p><p><b> 其中:</b></p><p> 聯(lián)合基本方程得一個(gè)廣義三對(duì)角或周期三對(duì)角方程組:</p><p> 求解這些不同類(lèi)型的樣條插值問(wèn)題的方程組,我們可得所要待定的一階導(dǎo)數(shù):</p><p> 再代入S(x)的每一段表
21、達(dá)式,就求得三次樣條函數(shù)的表達(dá)式!</p><p> 利用插值(即求過(guò)已知有限個(gè)數(shù)據(jù)點(diǎn)的近似函數(shù))的基本原理,用多項(xiàng)式作為研究插值的工具,進(jìn)行代數(shù)插值。其基本問(wèn)題是:已知函數(shù)f (x)在區(qū)間[a,b]上n +1個(gè)不同點(diǎn)x0,…,xn處的函數(shù)值 (i = 0,1,…,n),求一個(gè)至多n 次多項(xiàng)式ψn(x)使其在給定點(diǎn)處與 f (x)同值,即滿(mǎn)足插值條件: ψn(x)= = .許多工程技術(shù)中提出的計(jì)算問(wèn)題對(duì)插值函
22、數(shù)的光滑性有較高要求,如飛機(jī)的機(jī)翼外形,內(nèi)燃機(jī)的進(jìn)、排氣門(mén)的凸輪曲線(xiàn),都要求曲線(xiàn)具有較高的光滑程度,不僅要連續(xù),而且要有連續(xù)的曲率,這就導(dǎo)致了樣條插值的產(chǎn)生。</p><p> 數(shù)學(xué)上將具有一定光滑性的分段多項(xiàng)式稱(chēng)為樣條函數(shù)。具體地說(shuō),給定區(qū)間[a,b]的一個(gè)分劃Δ如果函數(shù)s(x) 滿(mǎn)足:</p><p> ?。╥)在每個(gè)小區(qū)間[ ](i=0,1,…,n)上s(x)是k 次多項(xiàng)式;&l
23、t;/p><p> ?。╥i)s(x)在[a,b]上具有k ?1階連續(xù)導(dǎo)數(shù)。</p><p> 則稱(chēng)s(x)為關(guān)于分劃Δ 的k 次樣條函數(shù),其圖形稱(chēng)為k 次樣條曲線(xiàn)。</p><p> 由于三次樣條插值我、函數(shù)s(x)的插值節(jié)點(diǎn)處的二階導(dǎo)數(shù)存在,因此令各節(jié)點(diǎn)處的二階導(dǎo)數(shù)為 </p><p> ?。?.01)
24、 </p><p> 根據(jù)樣條插值函數(shù)的定義,三次樣條插值函數(shù)是s(x)在每一個(gè)小區(qū)間 上市不超過(guò)三次的多項(xiàng)式。在每一個(gè)小區(qū)間上,其二階導(dǎo)數(shù)為線(xiàn)性函數(shù),即</p><p><b> ?。?.02)</b></p><p> 對(duì)式(1.02)積分兩次,則得到</p><p&g
25、t;<b> (1.03)</b></p><p> 其中為任意常數(shù)。又根據(jù)樣條插值函數(shù)定義中的條件(3),即</p><p><b> 可以確定與為</b></p><p><b> =</b></p><p> ?。?.04) </p><
26、p> 將式(1.04)中與的值代入表達(dá)式(1.03后,就可以得到樣條插值函數(shù)在區(qū)間上的表達(dá)式為</p><p><b> ?。?.05)</b></p><p> 其中與分別為區(qū)間兩端點(diǎn)處的二階導(dǎo)數(shù)值。由此可以看處,只要能確定各點(diǎn)處的二階導(dǎo)數(shù)值,則子渠道間上的三次樣條插值函數(shù)也確定了。</p><p> 在區(qū)間[a,b]上的一階導(dǎo)數(shù)
27、連續(xù),在各節(jié)點(diǎn)的左右兩子區(qū)間上的s(x)雖然不同,但在連接點(diǎn)處的導(dǎo)數(shù)存在,即在連接點(diǎn)處的左右導(dǎo)數(shù)相等,有</p><p><b> ?。?.06)</b></p><p> 為了利用條件(2.18),在x屬于時(shí),縣求為</p><p><b> ?。?.07)</b></p><p><b&
28、gt; 當(dāng)x屬于時(shí),</b></p><p><b> (1.08)</b></p><p><b> 整理得:</b></p><p><b> ?。?.09)</b></p><p><b> 其中</b></p>&
29、lt;p><b> 三 問(wèn)題的提出</b></p><p> 上面討論的分段低次插值函數(shù)都有一致收斂性,但光滑性較差,對(duì)于像高速飛機(jī)的機(jī)翼形線(xiàn),船體放樣等型值線(xiàn)往往要求有二階光滑度,即有二階連續(xù)導(dǎo)數(shù),早期工程師制圖時(shí),把富有彈性的細(xì)長(zhǎng)木條(所謂樣條)用壓鐵固定在樣點(diǎn)上,在其他地方讓它自由彎曲,然后畫(huà)下長(zhǎng)條的曲線(xiàn),稱(chēng)為樣條曲線(xiàn)。它實(shí)際上是由分段三次曲線(xiàn)并接而成,在連接點(diǎn)即樣點(diǎn)上要求
30、二階導(dǎo)數(shù)連續(xù),從數(shù)學(xué)上加以概括就得到數(shù)學(xué)樣條這一概念。下面我們討論最常用的三次樣條函數(shù)。</p><p> 四 實(shí)例應(yīng)分析函數(shù)的MATLAB的程序設(shè)計(jì)</p><p> 例1:已知一組數(shù)據(jù)點(diǎn),編寫(xiě)一程序求解三次樣條插值函數(shù)滿(mǎn)足</p><p> 并針對(duì)下面一組具體實(shí)驗(yàn)數(shù)據(jù)</p><p> 求解,其中邊界條件為.</p>
31、<p> 1)三次樣條插值自然邊界條件源程序:</p><p> function s=spline3(x,y,dy1,dyn)</p><p> %x為節(jié)點(diǎn),y為節(jié)點(diǎn)函數(shù)值,dy1,dyn分別為x=0.25,0.53處的二階導(dǎo)</p><p> m=length(x);n=length(y);</p><p><b
32、> if m~=n</b></p><p> error('x or y輸入有誤')</p><p><b> return</b></p><p><b> end</b></p><p> h=zeros(1,n-1);</p><
33、p> h(n-1)=x(n)-x(n-1);</p><p> for k=1:n-2</p><p> h(k)=x(k+1)-x(k);</p><p> v(k)=h(k+1)/(h(k+1)+h(k));</p><p> u(k)=1-v(k);</p><p><b> end&
34、lt;/b></p><p> g(1)=3*(y(2)-y(1))/h(1)-h(1)/2*dy1;</p><p> g(n)=3*(y(n)-y(n-1))/h(n-1)+h(n-1)/2*dyn;</p><p> for i=2:n-1</p><p> g(i)=3*(u(i-1)*(y(i+1)-y(i))/h(i
35、)+v(i-1)*(y(i)-y(i-1))/h(i-1));</p><p><b> end</b></p><p> for i=2:n-1;</p><p> A(i,i-1)=v(i-1);</p><p> A(i,i+1)=u(i-1);</p><p><b>
36、 end</b></p><p> A(n,n-1)=1;</p><p><b> A(1,2)=1;</b></p><p> A=A+2*eye(n);</p><p> M=zhuigf(A,g); %調(diào)用函數(shù),追趕法求M</p><p> f
37、printf('三次樣條(三對(duì)角)插值的函數(shù)表達(dá)式\n');</p><p><b> syms X;</b></p><p> for k=1:n-1</p><p> fprintf('S%d--%d:\n',k,k+1); </p><p> s(k)=(h(k)+2*(
38、X-x(k)))./h(k).^3.*(X-x(k+1)).^2.*y(k)...</p><p> +(h(k)-2*(X-x(k+1)))./h(k).^3.*(X-x(k)).^2.*y(k+1)...</p><p> +(X-x(k)).*(X-x(k+1)).^2./h(k).^2*M(k)+(X-x(k+1)).*...</p><p> (X-
39、x(k)).^2./h(k).^2*M(k+1);</p><p><b> end</b></p><p><b> s=s.';</b></p><p> s=vpa(s,4);</p><p> %畫(huà)三次樣條插值函數(shù)圖像</p><p> for i=
40、1:n-1</p><p> X=x(i):0.01:x(i+1);</p><p> st=(h(i)+2*(X-x(i)))./(h(i)^3).*(X-x(i+1)).^2.*y(i)...</p><p> +(h(i)-2.*(X-x(i+1)))./(h(i)^3).*(X-x(i)).^2.*y(i+1)...</p><p&
41、gt; +(X-x(i)).*(X-x(i+1)).^2./h(i)^2*M(i)+(X-x(i+1)).*...</p><p> (X-x(i)).^2./h(i)^2*M(i+1);</p><p> plot(x,y,'o',X,st);</p><p><b> hold on</b></p>&
42、lt;p><b> End</b></p><p> plot(x,y);</p><p><b> grid on</b></p><p> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b> %調(diào)用的函數(shù):&l
43、t;/b></p><p><b> %追趕法</b></p><p> function M=zhuigf(A,g)</p><p> n=length(A);</p><p><b> L=eye(n);</b></p><p> U=zeros(n);&
44、lt;/p><p> for i=1:n-1</p><p> U(i,i+1)=A(i,i+1);</p><p><b> end</b></p><p> U(1,1)=A(1,1);</p><p><b> for i=2:n</b></p>&
45、lt;p> L(i,i-1)=A(i,i-1)/U(i-1,i-1);</p><p> U(i,i)=A(i,i)-L(i,i-1)*A(i-1,i);</p><p><b> end</b></p><p> Y(1)=g(1);</p><p><b> for i=2:n</b&
46、gt;</p><p> Y(i)=g(i)-L(i,i-1)*Y(i-1);</p><p><b> end</b></p><p> M(n)=Y(n)/U(n,n);</p><p> for i=n-1:-1:1</p><p> M(i)=(Y(i)-A(i,i+1)*M(i
47、+1))/U(i,i);</p><p><b> end</b></p><p> 2)在命令窗口輸入x,y,dy1,dyn,得到三次樣條函數(shù):</p><p> >>x=[0.25,0.3,0.39,0.45,0.53];</p><p> >>y=[0.5,0.5477,0.6245
48、,0.6708,0.7280];</p><p><b> >>dy1=0;</b></p><p><b> >>dyn=0;</b></p><p> >>s=spline3(x,y,dy1,dyn)</p><p><b> 運(yùn)行結(jié)果:&l
49、t;/b></p><p> 三次樣條(三對(duì)角)插值的函數(shù)表達(dá)式</p><p><b> S1--2:</b></p><p><b> S2--3:</b></p><p><b> S3--4:</b></p><p><b&g
50、t; S4--5: </b></p><p> .5000*(-3600.+.1600e5*X)*(X-.3000)^2+.5477*(5200.-.1600e5*X)*(X-.2500)^2+394.8*(X-.2500)*(X-.3000)^2+355.2*(X-.3000)*(X-.2500)^2</p><p> .5477*(-699.6+2743.*X)*(X
51、-.3900)^2+.6245*(1193.-2743.*X)*(X-.3000)^2+109.6*(X-.3000)*(X-.3900)^2+96.77*(X-.3900)*(X-.3000)^2</p><p> .6245*(-3333.+9259.*X)*(X-.4500)^2+.6708*(4444.-9259.*X)*(X-.3900)^2+217.7*(X-.3900)*(X-.4500)^2+2
52、07.6*(X-.4500)*(X-.3900)^2</p><p> .6708*(-1602.+3906.*X)*(X-.5300)^2+.7280*(2227.-3906.*X)*(X-.4500)^2+116.8*(X-.4500)*(X-.5300)^2+109.2*(X-.5300)*(X-.4500)^2</p><p> 如將三次樣條函數(shù)加以整理,可用如下程序:<
53、/p><p> s=collect(s);</p><p><b> 則輸出結(jié)果為:</b></p><p><b> s=</b></p><p> .4595000000000-13.200*X^3+9.9000000*X^2-1.48800000000*X</p><p
54、> .37459306800000-4.2924*X^3+3.66332200*X^2-.137976090000*X</p><p> .5180681700000-3.3917*X^3+3.90576600*X^2-.733130370000*X</p><p> -.408614400000e-1+2.5768*X^3-4.03188800*X^2+2.868770320
55、000*X</p><p> 例2 : 給出節(jié)點(diǎn)的數(shù)據(jù)如下:</p><p> 分別求在下列條件下在插值點(diǎn),處的壓緊三次樣條插值,并顯示該樣條函數(shù)的有關(guān)信息:</p><p> ?。?)端點(diǎn)約束條件為,;</p><p> ?。?)端點(diǎn)約束條件為,.</p><p> 解 (1)輸入MATLAB程序</p&
56、gt;<p> >> X=[-1.00 -0.54 0.13 1.12 1.89 2.06 2.54 2.82 3.50];</p><p> Y=[-2.46 -5.26 -1.87 0.05 1.65 2.69 4.56 7.89 10.31]; XI=[-0.02 2.56]; </p><p> YI= spline
57、 (X, [5,Y,29.16],XI), PP = spline (X, [5,Y,29.16])</p><p> 運(yùn)行后屏幕顯示壓緊樣條分別在,處的插值和該樣條函數(shù)的有關(guān)信息如下</p><p><b> YI =</b></p><p> -3.1058 4.7834</p><p><b>
58、; PP = </b></p><p> form: 'pp'</p><p> breaks: [-1 -0.5400 0.1300 1.1200 1.8900 2.0600 2.5400 2.8200 3.5000]</p><p> coefs: [8x4 double]</p><p><b&
59、gt; pieces: 8</b></p><p><b> order: 4</b></p><p><b> dim: 1</b></p><p> ?。?)因?yàn)槎它c(diǎn)約束條件為,,所以輸入MATLAB程序</p><p> >> YI= spline (X, [0
60、,Y,0],XI), PP= spline (X, [0,Y,0])</p><p> 運(yùn)行后屏幕顯示壓緊三次樣條分別在,的插值和該樣條函數(shù)的有關(guān)信息如下</p><p><b> YI =</b></p><p> -3.0192 4.7501</p><p><b> PP = </b&
61、gt;</p><p> form: 'pp'</p><p> breaks: [-1 -0.5400 0.1300 1.1200 1.8900 2.0600 2.5400 2.8200 3.5000]</p><p> coefs: [8x4 double]</p><p><b> pieces: 8&
62、lt;/b></p><p><b> order: 4</b></p><p><b> dim: 1</b></p><p> 例3:求有關(guān)分段三次樣條圖形的MATLAB主程序</p><p> ?。ㄒ唬┫薅ǘ它c(diǎn)約束條件的作圖程序</p><p> func
63、tion S=splinetx(x0,y0,xj,x,y,dy1,dyn)</p><p> S = spline(x0,[dy1,y0,dyn],xj);</p><p> Sn = spline(x0,[dy1,y0,dyn],x);</p><p> plot(x0,y0,'o',x,Sn,'-',xj,S,'*&
64、#39;,x,y,'-.')</p><p> legend('節(jié)點(diǎn)(xi,yi)', '分段三次樣條函數(shù)','插值點(diǎn)(x,S)','被插值函數(shù)y')</p><p> ?。ǘ┎幌薅ǘ它c(diǎn)約束條件的作圖程序</p><p> function S=splinetx1(x0,y0,xi
65、,x,y)</p><p> S= interp1(x0,y0,xi, 'spline'); Sn= interp1(x0,y0,x, 'spline');</p><p> plot(x0,y0,'o',x,Sn,'-',xi,S,'*',x,y,'-.')</p><
66、p> legend('節(jié)點(diǎn)(xi,yi)', '分段三次樣條函數(shù)','插值點(diǎn)(x,S)','被插值函數(shù)y')</p><p><b> ?。ㄈ┳杂勺鲌D程序</b></p><p> 直接在MATLAB工作窗口編程序,例如,</p><p> >>subpl
67、ot(2,2,1),x1=-8:4/3:-4,c1=sin(x1);xx1 = -8:0.1:-4;</p><p> pp1 = interp1 (x1,c1,xx1,'spline '); </p><p> cc1 =sin(xx1);%pp1 = spline (x1,c1,xx1); </p><p> plot(x1,c1,'
68、;bo',xx1,pp1,'k-',xx1,cc1,'r-.')</p><p> subplot(2,2,2)</p><p> x2=-4:4/3:-0;c2=sin(x2); xx2 = -4:0.1:0; </p><p> pp2 = interp1 (x2,c2,xx2,'spline ');
69、 </p><p> cc2=sin(xx2);plot(x2,c2,'bo',xx2,pp2,'k-',xx2,cc2,'r-.')</p><p> title('y=sinx及其三次樣條插值函數(shù),節(jié)點(diǎn)(xi,yi)的圖形')</p><p> subplot(2,1,2)</p>
70、<p> x=-8:4/3:8;c=sin(x);xx = -8:0.1:8;</p><p> pp = spline(x,c,xx);</p><p> cc=sin(xx); plot(x,c,'bo',xx,pp,'k-',xx,cc,'r-.')</p><p> legend('
71、;節(jié)點(diǎn)(xi,yi)','三次樣條插值函數(shù)','y=sinx 的函數(shù)')</p><p> ','y=cosx 的函數(shù)')</p><p> 例4:(機(jī)床加工) 待加工零件的外形根據(jù)工藝要求由一組數(shù)據(jù)(x, y)給出(在平面情況下),用程控銑床加工時(shí)每一刀只能沿x方向和y方向走非常小的一步,這就需要從已知數(shù)據(jù)得到加工所要求
72、的步長(zhǎng)很小的(x, y)坐標(biāo).表 6–15給出的x,y數(shù)據(jù)位于機(jī)翼斷面的下輪廓線(xiàn)上(如圖6–25),假設(shè)需要得到x坐標(biāo)每改變0.1時(shí)的y坐標(biāo).試完成加工所需數(shù)據(jù),畫(huà)出曲線(xiàn),并求出x=0處的曲線(xiàn)斜率和13≤ x ≤15范圍內(nèi)y的最小值.</p><p> 表 6–15 機(jī)翼斷面下輪廓線(xiàn)上的部分?jǐn)?shù)據(jù)</p><p> 圖6–25 機(jī)翼斷面輪廓線(xiàn)(表 6–15數(shù)據(jù)用圓點(diǎn)表示)<
73、;/p><p> 解 根據(jù)上述提出的加工要求,以所給數(shù)據(jù)為節(jié)點(diǎn),在x=0到x=15范圍內(nèi)求步長(zhǎng)為0.1的插值.用四種插值方法試驗(yàn),編寫(xiě)并保存名為sancili6710.m程序?yàn)镸文件</p><p> x0=[0 3 5 7 9 11 12 13 14 15 ]; x=0:0.1:15;</p><p> y0=[0 1.2 1.7 2.0 2.1 2.0 1.8
74、 1.2 1.0 1.6 ]; yL=lagr1(x0,y0,x);</p><p> yX=interp1(x0,y0,x); yS=interp1(x0,y0,x,'spline'); </p><p> yH=interp1(x0,y0,x, 'pchip'); CZ=[x' yL' yX' yS' yH']
75、</p><p> subplot(4,1,1)</p><p> plot(x0,y0,'bo',x,yL,'r'), grid,title('拉格朗日插值')</p><p> subplot(4,1,2)</p><p> plot(x0,y0,'bo',x,yX,
76、'r'), grid,title('分段線(xiàn)性插值')</p><p> subplot(4,1,3)</p><p> plot(x0,y0,'bo',x,yS,'r'), grid,title('三次樣條')</p><p> subplot(4,1,4)</p>
77、<p> plot(x0,y0,'bo',x,yH,'r'), grid,title('分段埃爾米特插值')</p><p> 在MATLAB工作窗口輸入文件名</p><p> >> sancili6710</p><p> 運(yùn)行后得到的拉格朗日插值、分段線(xiàn)性插值、三次樣條插值和分段埃爾
78、米特插值及其節(jié)點(diǎn)的圖形,同時(shí)還得到拉格朗日插值、分段埃爾米特插值、分段線(xiàn)性插值和三次樣條插值的結(jié)果</p><p><b> 五 結(jié)論</b></p><p> MATLAB環(huán)境下編寫(xiě)求解三次樣條插值的通用程序,可直接顯示各區(qū)間段三次樣條函數(shù)的具體表達(dá)式,計(jì)算出已給點(diǎn)的插值,最后顯示各區(qū)間分段曲線(xiàn)圖,為三次樣條插值函數(shù)的應(yīng)用提供簡(jiǎn)便方法。</p>
79、<p> 隨著計(jì)算機(jī)技術(shù)及硬件設(shè)施的不斷發(fā)展,計(jì)算機(jī)語(yǔ)言的演化從最開(kāi)始的機(jī)器語(yǔ)言到匯編語(yǔ)言,最后到支持面向?qū)ο蠹夹g(shù)的面向?qū)ο笳Z(yǔ)言。這就要求提供的計(jì)算方法也不斷發(fā)展。同時(shí)在實(shí)踐也給舊的插值逼近方法不斷提出問(wèn)題,這就要求新的插值逼近方法要更復(fù)雜,誤差精度更高,同時(shí)解決更多方面的問(wèn)題。插值逼近方法的發(fā)展也需要新的理論指導(dǎo)。自然辯證法的科學(xué)理論中提到科學(xué)“范式”概括了插值逼近法得法的發(fā)展過(guò)程.辯證唯物主義自然觀(guān)、自然科學(xué)發(fā)展過(guò)程及其
80、規(guī)律,分析與綜合、歸納法與演繹法、想象和類(lèi)比等科學(xué)邏輯思維方法的應(yīng)用都在插值逼近理論的發(fā)展過(guò)程中起到了重要作用。</p><p> 用科學(xué)的邏輯思維方法認(rèn)識(shí)事物才會(huì)清楚的了解其過(guò)去、現(xiàn)在和未來(lái).計(jì)算數(shù)學(xué)中的插值逼近方法發(fā)展同樣遵循著科學(xué)技術(shù)、科學(xué)理論發(fā)展的一般規(guī)律.以自然辯證法的觀(guān)點(diǎn)來(lái)分析.有助于我們更加深入地認(rèn)識(shí)插值逼近以及整個(gè)數(shù)值計(jì)算方法發(fā)展的歷史、現(xiàn)狀和趨勢(shì)。插值逼近方法及數(shù)學(xué)理論的進(jìn)一步發(fā)展也必將為自然
81、辯證法的發(fā)展提供基礎(chǔ)。</p><p> 本次的課程設(shè)計(jì)的整個(gè)過(guò)程讓我認(rèn)識(shí)到了基礎(chǔ)知識(shí)的欠缺,通過(guò)查閱大量的資料,從根源上了解,三樣條插值的由來(lái)和應(yīng)用范圍等,是我受益良多。切切實(shí)實(shí)的認(rèn)識(shí)的努力學(xué)習(xí)的重要性。</p><p><b> 參考資料</b></p><p> [1] 黃明游,馮果忱.數(shù)值分析[M].北京:高等教育出版社,2008
82、. </p><p> [2] 馬東升,雷勇軍.數(shù)值計(jì)算方法[M].北京:機(jī)械工業(yè)出版社,2006.
83、 </p><p> [3] 石博強(qiáng),趙金.MATLAB數(shù)學(xué)計(jì)算與工程分析范例教程[M].北京:中國(guó)鐵道出版社.2005.</p><p> [4]郝紅偉,MATLAB 6,北京,中國(guó)電力出版社,2001</p><p> [5]姜健飛,胡良劍,數(shù)值分析及其MATLAB實(shí)驗(yàn), 科學(xué)出
84、版社,2004</p><p> [6]薛毅,數(shù)值分析實(shí)驗(yàn),北京工業(yè)大學(xué)出版社,2005</p><p><b> 翻譯</b></p><p> Switch語(yǔ)句在幾個(gè)case表達(dá)式基礎(chǔ)上的轉(zhuǎn)換。</p><p> 語(yǔ)法:case case_expr </p><p> stateme
85、nt,...,statement</p><p> case {case_expr1,case_expr2,case_expr3,...}</p><p> statement,...,statement</p><p><b> ...</b></p><p><b> otherwise</b
86、></p><p> statement,...,statement</p><p><b> end</b></p><p> 用法討論:switch表達(dá)式的語(yǔ)法足一種有條件的執(zhí)行碼。特別地,switch執(zhí)行一系列任意的可供選強(qiáng)的數(shù)字下的語(yǔ)句,每一個(gè)可選項(xiàng)組成一個(gè)case,由以下3個(gè)部分組成:</p><p&g
87、t;<b> case語(yǔ)句。</b></p><p><b> 一個(gè)或多個(gè)表達(dá)式。</b></p><p><b> 一個(gè)或多個(gè)語(yǔ)句。</b></p><p> 在基本語(yǔ)法中,switch執(zhí)行的語(yǔ)句必須滿(mǎn)足switch_expr=case_expr。當(dāng)case表達(dá)式為單元數(shù)組時(shí)(如上面的第——
88、個(gè)case所示),case_expr只有在單元數(shù)組元中有元素匹配switch表達(dá)式時(shí)才匹配上。如果沒(méi)有case表達(dá)式匹配switch表達(dá)式,則控制轉(zhuǎn)換到otherwise case(如果該項(xiàng)存在的話(huà))。Case執(zhí)行完后,程序必須從switch末尾開(kāi)始繼續(xù)執(zhí)行。switch_expr是一個(gè)標(biāo)量或者一個(gè)字符串。如果switch_expr=case_expr成立的,標(biāo)量switch_expr匹配上case_expr。當(dāng)且僅當(dāng)strcmp(sw
89、itch_expr,case_expr)=1(真)時(shí) ,一個(gè)字符串switch_expr與case_expr匹配。</p><p> 應(yīng)用實(shí)例:執(zhí)行的列編碼塊基于what the string, method, is set to, method</p><p> method = 'Bilinear';</p><p> switch low
90、er(method)</p><p> case {'linear','bilinear'}</p><p> disp('Method is linear')</p><p> case 'cubic'</p><p> disp('Method is cubi
91、c')</p><p> case 'nearest'</p><p> disp('Method is nearest')</p><p><b> otherwise</b></p><p> disp('Unknown method.')</p&
92、gt;<p><b> end</b></p><p> Method is linear</p><p> 對(duì)照英文:Switch among several cases based on expression Syntaxswitch switch_expr</p><p> case case_expr </p
93、><p> statement,...,statement</p><p> case {case_expr1,case_expr2,case_expr3,...}</p><p> statement,...,statement</p><p><b> ...</b></p><p>&l
94、t;b> otherwise</b></p><p> statement,...,statement</p><p><b> end</b></p><p> DiscussionThe switch statement syntax is a means of conditionally executing co
95、de. In particular, switch executes one set of statements selected from an arbitrary number of alternatives. Each alternative is called a case, and consists of The case statement One or more case expressions One or more s
96、tatements In its basic syntax, switch executes the statements associated with the first case where switch_expr == case_expr. When the case expression is a cell array (as in the second case above), the c</p><p&
97、gt; method = 'Bilinear';</p><p> switch lower(method)</p><p> case {'linear','bilinear'}</p><p> disp('Method is linear')</p><p> c
98、ase 'cubic'</p><p> disp('Method is cubic')</p><p> case 'nearest'</p><p> disp('Method is nearest')</p><p><b> otherwise</
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)值分析課程設(shè)計(jì)---驗(yàn)證樣條插值的收斂性
- 30266.基于函數(shù)值的三次有理樣條分形插值
- 基于三次Bezier曲線(xiàn)的樣條插值算法.pdf
- 一類(lèi)保形的有理三次插值樣條.pdf
- 兩類(lèi)有理三次插值樣條的逼近性質(zhì).pdf
- 數(shù)值分析課程設(shè)計(jì)---牛頓插值、高斯消去法
- 數(shù)值插值與擬合課程設(shè)計(jì)論文
- 三次樣條插值在WCDMA移動(dòng)終端校準(zhǔn)中的應(yīng)用.pdf
- 第三次作業(yè)-插值
- 基于三次樣條的平滑插補(bǔ).pdf
- 三次張力參數(shù)B樣條的擬插值和細(xì)分方法研究.pdf
- 三次插值PH樣條與F-曲線(xiàn)拐點(diǎn)和奇點(diǎn)的研究.pdf
- 數(shù)值分析課程設(shè)計(jì)---多項(xiàng)式插值的振蕩現(xiàn)象
- 數(shù)值分析課程設(shè)計(jì)--用拉格朗日插值法和牛頓插值法求近似值
- 三次幾何Hermite插值及其優(yōu)化.pdf
- 樣條插值.doc
- 樣條插值.doc
- 基于三次樣條插指權(quán)函數(shù)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的研究.pdf
- 一般的三次參數(shù)樣條曲線(xiàn)的幾何連續(xù)性及其插值方法.pdf
- 一類(lèi)雙三次有理樣條分形插值及其在圖像處理中的應(yīng)用.pdf
評(píng)論
0/150
提交評(píng)論