【正文】
,i)。所以加入以下判斷以提高插值的準(zhǔn)確性n=length(x0)。 y2=lagrange(x,y,x0)Error!x(1) is out of range! x=[1 2 3 4]。fprintf(39。 if zx0(1)|zx0(n) fprintf(39。%輸出插值結(jié)果與所需節(jié)點(diǎn)endendend拉格朗日全區(qū)間插值%拉格朗日全區(qū)間插值function y=lagrange(x0,y0,x)% x0,y0為已知點(diǎn),x為待求點(diǎn)n=length(x0)。 end%一旦l有非零值,則終止循環(huán),選出合適的l end if l==0 l=n1。 l=0。%輸出插值結(jié)果和所需節(jié)點(diǎn)endendend分段二次插值%分段二次插值function y=piece_square(x0,y0,x)% x0,y0為已知點(diǎn),x為待求點(diǎn)n=length(x0)。 end if l~=0 break。% x0和y0長(zhǎng)度不等時(shí),報(bào)錯(cuò)elsefor i=1:m z=x(i)。類似地,我們可以選取距離x最近的三個(gè)節(jié)點(diǎn)xi1,xi與xi+1,然后進(jìn)行二次插值,即得這種分段低次插值叫分段二次插值,又稱分段拋物線插值。它不僅直接廣泛地應(yīng)用于生產(chǎn)實(shí)際和科學(xué)研究中,而且也是進(jìn)一步學(xué)習(xí)數(shù)值計(jì)算方法的基礎(chǔ)。有些情況雖然可以寫出表達(dá)式,但結(jié)構(gòu)復(fù)雜,使用不方便。求插值函數(shù)P(x)的方法稱為插值法。% n,p,m分別為x0,y0,x長(zhǎng)度if n~=p fprintf(39。,i)。 fprintf(39。)。 end%當(dāng)插值點(diǎn)超出范圍時(shí),報(bào)錯(cuò) for j=1:n2 p=*(x0(j)+x0(j+1))。fprintf(39。)。 for j=1:n if j~=k p=p*(zx0(j))/(x0(k)x0(j))。 y2=lagrange(x