數(shù)值分析課程設(shè)計(jì)--三次樣條插值_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論