




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、插值方法晚上做一個(gè)曲線擬合,結(jié)果才開始用最小二乘法擬合時(shí),擬合出來的東西太難看了!于是嘗試用其他方法。經(jīng)過一番按圖索驥,終于發(fā)現(xiàn)做曲線擬合的話,采用插值法是比較理想的方法。尤其是樣條插值,插完后線條十分光滑。方法付后,最關(guān)鍵的問題是求解時(shí)要積分,放這里想要的時(shí)候就可以直接過來拿,不用死去搜索啦。呵呵插值方法的Matlab實(shí)現(xiàn)一維數(shù)據(jù)插值MATLAB中用函數(shù)interp1來擬合一維數(shù)據(jù),語法是YI = INTERP1(X,Y,XI,方法)其中(X, Y) 是已給的數(shù)據(jù)點(diǎn), XI 是插值點(diǎn), 其中方法主要有 'linea
2、r' -線性插值,默認(rèn) 'pchip' -逐段三次Hermite插值 'spline' -逐段三次樣條函數(shù)插值其中最后一種插值的曲線比較平滑例:x=0:.12:1; x1=0:.02:1;%(其中x=0:.12:1表示顯示的插值點(diǎn),x1=0:.02:1表示插值的步長)y=(x.2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,'o
3、39;); hold on;y1=interp1(x,y,x1,'spline');plot(x1,y1,':')如果要根據(jù)樣本點(diǎn)求函數(shù)的定積分,而函數(shù)又是比較光滑的,則可以用樣條函數(shù)進(jìn)行插值后再積分,在MATLAB中可以編寫如下程序:function y=quadspln(x0,y0,a,b)f=inline('interp1(x0,y0,x,''spline'')','x','x0','y0');y=quadl(f,a,b,1e-8,x0,y0); 現(xiàn)求
4、sin(x)在區(qū)間0,pi上的定積分,只取5點(diǎn)x0=0,0.4,1,2,pi;y0=sin(x0);I=quadspln(x0,y0,0,pi)結(jié)果得到的值為 2.01905, 精確值為2求一段matlab插值程序懸賞分:20 - 解決時(shí)間:2009-12-26 19:57 已知5個(gè)數(shù)據(jù)點(diǎn):x=0.25 0.5 0.75 1 y=0 0.3104 0.6177 0.7886 1 ,求一段matlab插值程序,求過這5個(gè)數(shù)據(jù)點(diǎn)的插值多項(xiàng)式,并在x-y坐標(biāo)中畫出y=f(x)圖形,并且求出f(x)與x軸圍成圖形的面積(積分),不勝感激! 使用Lagrange 插值多項(xiàng)式的方法:首先把下面的代碼復(fù)制到
5、M文件中,保存成lagranfunction C,L=lagran(X,Y)% input - X is a vector that contains a list of abscissas% - Y is a vector that contains a list of ordinates% output - C is a matrix that contains the coefficients of the lagrange interpolatory polynomial%- L is a matrix that contains the lagrange coefficients p
6、olynomialw=length(X);n=w-1;L=zeros(w,w);for k=1:n+1V=1;for j=1:n+1if k=jV=conv(V,poly(X(j)/(X(k)-X(j);endendL(k,:)=V;endC=Y*L;然后在命令窗口中輸入以下內(nèi)容: x=0 0.25 0.5 0.75 1;y=0 0.3104 0.6177 0.7886 1;lagran(x,y)ans = 3.3088 -6.3851 3.3164 0.7599 0得到的數(shù)據(jù)就是多項(xiàng)式各項(xiàng)的系數(shù),注意最后一個(gè)是常數(shù)項(xiàng),即x0,所以表達(dá)式為:f=3.3088*x.4-6.3851*x.3+3.
7、3164*x.2 +0.7599*x求面積就是積分求解>> f=(x)3.3088*x.4-6.3851*x.3+3.3164*x.2 +0.7599*x;>> quad(f,0,1)ans = 0.5509 這些點(diǎn)肯定是通過這個(gè)多項(xiàng)式的! MATLAB插值與擬合 §1曲線擬合實(shí)例:溫度曲線問題氣象部門觀測到一天某些時(shí)刻的溫度變化數(shù)據(jù)為:t012345678910T1315171416192624262729試描繪出溫度變化曲線。曲線擬合就是計(jì)算出兩組數(shù)據(jù)之間的一種函數(shù)關(guān)系,由此可描繪其變化曲線及估計(jì)非采集數(shù)據(jù)對應(yīng)的變量信息。曲線擬合有多種方式,下面
8、是一元函數(shù)采用最小二乘法對給定數(shù)據(jù)進(jìn)行多項(xiàng)式曲線擬合,最后給出擬合的多項(xiàng)式系數(shù)。1.線性擬合函數(shù):regress()調(diào)用格式: b=regress(y,X) b,bint,r,rint,stats= regress(y,X)
9、160; b,bint,r,rint,stats= regress(y,X,alpha)說明:b=regress(y,X)返回X與y的最小二乘擬合值,及線性模型的參數(shù)值、。該函數(shù)求解線性模型:y=X+是p´1的參數(shù)向量;是服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)干擾的n´1的向量;y為n´1的向量;X為n´p矩陣。bint返回的95%的置信區(qū)間。r中為形狀殘差,rint中返回每一個(gè)殘差的95%置信區(qū)間。Stats向量包含R2統(tǒng)計(jì)量、回歸的F值和p值。例1:設(shè)y的值為
10、給定的x的線性函數(shù)加服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)干擾值得到。即y=10+x+ ;求線性擬合方程系數(shù)。程序: x=ones(10,1) (1:10)' y=x*10;1+normrnd(0,0.1,10,1); b,bint=regress(y,x,0.05)結(jié)果: x = 1 1 1
11、60; 2 1 3 1 4 1 5 1 6 1 7
12、; 1 8 1 9 1 10y = 10.9567 11.8334 13.0125 14.0288 14.8854 16.1191 17.1189 17.9962
13、60; 19.0327 20.0175b = 9.9213 1.0143bint = 9.7889 10.0537
14、 0.9930 1.0357即回歸方程為:y=9.9213+1.0143x2.多項(xiàng)式曲線擬合函數(shù):polyfit( )調(diào)用格式: p=polyfit(x,y,n) p,s= polyfit(x,y,n)說明:x,y
15、為數(shù)據(jù)點(diǎn),n為多項(xiàng)式階數(shù),返回p為冪次從高到低的多項(xiàng)式系數(shù)向量p。矩陣s用于生成預(yù)測值的誤差估計(jì)。(見下一函數(shù)polyval)例2:由離散數(shù)據(jù)x0.1.2.3.4.5.6.7.8.91y.3.511.41.61.9.6.4.81.52擬合出多項(xiàng)式。程序: x=0:.1:1; y=.3 .5 1 1.4
16、 1.6 1.9 .6 .4 .8 1.5 2; n=3; p=polyfit(x,y,n) xi=linspace(0,1,100);%linspace用于創(chuàng)建向量,如:x
17、=linspace(a1,a2,a3);a1為第一個(gè)元素,a2為最末一個(gè)元素,a3表示x共有a3個(gè)元素,每個(gè)元素間距相等。 z=polyval(p,xi); %多項(xiàng)式求值 plot(x,y,'o',xi,z,'k:',x,y,'b') legend('
18、;原始數(shù)據(jù)','3階曲線')結(jié)果:p = 16.7832 -25.7459 10.9802 -0.0035多項(xiàng)式為:16.7832x3-25.7459x2曲線擬合圖形:如果是n=6,則如下圖: 也可由函數(shù)給出數(shù)據(jù)。例3:x=1:20,y=x+3*sin(x)程序: x=1:20; y=x+3*sin(x);
19、60; p=polyfit(x,y,6) xi=linspace(1,20,100); z=polyval(p,xi); %多項(xiàng)式求值函數(shù) plot(x,y,'o',xi,z,'k:',x,y,'b')
20、 legend('原始數(shù)據(jù)','6階曲線')結(jié)果:p =0.0000 -0.0021 0.0505 -0.5971 3.6472 -9.7295 11.3304 再用10階多項(xiàng)式擬合 程序:x=1:20;y=x+3*sin(x);p=polyfit(x,y,10)xi=linspace(1,20,100);z=pol
21、yval(p,xi);plot(x,y,'o',xi,z,'k:',x,y,'b')legend('原始數(shù)據(jù)','10階多項(xiàng)式')結(jié)果:p = Columns 1 through 7 0.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065 11.2360 C
22、olumns 8 through 11 -42.0861 88.5907 -92.8155 40.2671 可用不同階的多項(xiàng)式來擬合數(shù)據(jù),但也不是階數(shù)越高擬合的越好。3. 多項(xiàng)式曲線求值函數(shù):polyval( )調(diào)用格式: y=polyval(p,x) &
23、#160; y,DELTA=polyval(p,x,s)說明:y=polyval(p,x)為返回對應(yīng)自變量x在給定系數(shù)P的多項(xiàng)式的值。y,DELTA=polyval(p,x,s) 使用polyfit函數(shù)的選項(xiàng)輸出s得出誤差估計(jì)Y DELTA。它假設(shè)polyfit函數(shù)數(shù)據(jù)輸入的誤差是獨(dú)立正態(tài)的,并且方差為常數(shù)。則Y DELTA將至少包含50%的預(yù)測值。(未完)4. 多項(xiàng)式曲線擬合的評價(jià)和置信區(qū)間函數(shù):polyconf( )調(diào)用格式
24、: Y,DELTA=polyconf(p,x,s) Y,DELTA=polyconf(p,x,s,alpha)說明:Y,DELTA=polyconf(p,x,s)使用polyfit函數(shù)的選項(xiàng)輸出s給出Y的95%置信區(qū)間Y DELTA。它假設(shè)polyfit函數(shù)數(shù)據(jù)輸入的誤差是獨(dú)立正態(tài)的,并且方差為常數(shù)。1-alpha為置信度。例4:給出上面例1的預(yù)
25、測值及置信度為90%的置信區(qū)間。程序: x=0:.1:1; y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2 n=3; p,s=polyfit(x,y,n) alpha=0.0
26、5; Y,DELTA=polyconf(p,x,s,alpha) 結(jié)果: p = 16.7832 -25.7459 10.9802 -0.0035s = R: 4x4 double df: 7normr: 1.1406Y = Columns 1 through 9
27、60; -0.0035 0.8538 1.2970 1.4266 1.3434 1.1480 0.9413 0.8238 0.8963 Columns 10 through 11 1.2594 2.01405.
28、60; 穩(wěn)健回歸函數(shù):robust( )穩(wěn)健回歸是指此回歸方法相對于其他回歸方法而言,受異常值的影響較小。調(diào)用格式: b=robustfit(x,y) b,stats=robustfit(x,y)
29、0; b,stats=robustfit(x,y,wfun,tune,const)說明:b返回系數(shù)估計(jì)向量;stats返回各種參數(shù)估計(jì);wfun指定一個(gè)加權(quán)函數(shù);tune為調(diào)協(xié)常數(shù);const的值為on(默認(rèn)值)時(shí)添加一個(gè)常數(shù)項(xiàng);為off 時(shí)忽略常數(shù)項(xiàng)。例5:演示一個(gè)異常數(shù)據(jù)點(diǎn)如何影響最小二乘擬合值與穩(wěn)健擬合。首先利用函數(shù)y=10-2x加上一些隨機(jī)干擾的項(xiàng)生成數(shù)據(jù)集,然后改變一個(gè)y的值形成異常值。調(diào)用不同的擬合函數(shù),通過圖形觀查
30、影響程度。程序:x=(1:10);y=10-2*x+randn(10,1);y(10)=0;bls=regress(y,ones(10,1) x) %線性擬合brob=robustfit(x,y) %穩(wěn)健擬合scatter(x,y)hold onplot(x,bls(1)+bls(2)*x,:)plot(x,brob(1)+brob(2)*x,r)結(jié)果 : bls = 8.445
31、2 -1.4784brob = 10.2934
32、0; -2.0006 分析:穩(wěn)健擬合(實(shí)線)對數(shù)據(jù)的擬合程度好些,忽略了異常值。最小二乘擬合(點(diǎn)線)則受到異常值的影響,向異常值偏移。6. 向自定義函數(shù)擬合對于給定的數(shù)據(jù),根據(jù)經(jīng)驗(yàn)擬合為帶有待定常數(shù)的自定義函數(shù)。所用函數(shù):nlinfit( )調(diào)用格式: beta,r,J=nlinfit(X,y,fun,beta0)說明:beta返回函數(shù)fun中的待定常數(shù);r表示殘差;J表示雅可比矩陣。X,y為數(shù)據(jù);fun自定義函數(shù);b
33、eta0待定常數(shù)初值。例6:在化工生產(chǎn)中獲得的氯氣的級分y隨生產(chǎn)時(shí)間x下降,假定在x8時(shí),y與x之間有如下形式的非線性模型: 現(xiàn)收集了44組數(shù)據(jù),利用該數(shù)據(jù)通過擬合確定非線性模型中的待定常數(shù)。x y
34、0; x y x y8 &
35、#160; 0.49 16 0.43 28
36、60; 0.418 0.49 18 0.46
37、160; 28 0.4010 0.48 18
38、160; 0.45 30 0.4010 0.47
39、 20 0.42 30 0.4010
40、 0.48 20 0.42 30 &
41、#160; 0.3810 0.47 20 0.43
42、; 32 0.4112 0.46 20
43、; 0.41 32 0.4012 0.46
44、60; 22 0.41 34 0.4012 0.45
45、0; 22 0.40 36 0.41
46、12 0.43 24 0.42
47、60; 36 0.3614 0.45 24 0.40
48、0; 38 0.4014 0.43 24
49、0; 0.40 38 0.4014 0.43
50、160; 26 0.41 40 0.3616
51、160; 0.44 26 0.40 42
52、0; 0.3916 0.43 26 0.41
53、160; 首先定義非線性函數(shù)的m文件:fff6.mfunction yy=model(beta0,x) a=beta0(1); b=beta0(2); yy=a+(0.49-a)*exp(-b*(x-8); 程序:x=8.00 8.00 10.00 10.00 10.00 10.00 12.00 12.00 12.00 14.00 14.00 14.00. 16.00 16.00 16.00 18.00 18.00
54、20.00 20.00 20.00 20.00 22.00 22.00 24.00. 24.00 24.00 26.00 26.00 26.00 28.00 28.00 30.00 30.00 30.00 32.00 32.00. 34.00 36.00 36.00 38.00 38.00 40.00 42.00' y=0.49 0.49 0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43 0.45 0.43 0.4
55、3 0.44 0.43. 0.43 0.46 0.42 0.42 0.43 0.41 0.41 0.40 0.42 0.40 0.40 0.41 0.40 0.41 0.41. 0.40 0.40 0.40 0.38 0.41 0.40 0.40 0.41 0.38 0.40 0.40 0.39 0.39' beta0=0.30 0.02;betafit = nlinfit(x,y,model ,beta0)結(jié)果:betafit =
56、 0.38960.1011 即:a=0.3896 ,b=0.1011 擬合函數(shù)為:yy=0.3896+0.1004*exp(-0.1011*(x-8)excell數(shù)據(jù)調(diào)入matlab中的方法:import datadatax=data(:,所調(diào)出數(shù)據(jù)的列數(shù))如果想調(diào)出某列數(shù)據(jù)中間隔相等的數(shù)據(jù)則:x=data(1:2:10,colume2)則調(diào)用原始數(shù)據(jù)的第二列中前十個(gè)
57、數(shù)據(jù)中1、3、5、7、9行數(shù)據(jù)。§2 插值問題在應(yīng)用領(lǐng)域中,由有限個(gè)已知數(shù)據(jù)點(diǎn),構(gòu)造一個(gè)解析表達(dá)式,由此計(jì)算數(shù)據(jù)點(diǎn)之間的函數(shù)值,稱之為插值。實(shí)例:海底探測問題某公司用聲納對海底進(jìn)行測試,在5×5海里的坐標(biāo)點(diǎn)上測得海底深度的值,希望通過這些有限的數(shù)據(jù)了解更多處的海底情況。并繪出較細(xì)致的海底曲面圖。一、一元插值一元插值是對一元數(shù)據(jù)點(diǎn)(xi,yi)進(jìn)行插值。1 線性插值:由已知數(shù)據(jù)點(diǎn)連成一條折線,認(rèn)為相臨兩個(gè)數(shù)據(jù)點(diǎn)之間的函數(shù)值就在這兩點(diǎn)之間的連線上。一般來說,數(shù)據(jù)點(diǎn)數(shù)越多,線性插值就越精確。調(diào)用格式:yi=interp1(x,y,xi,linear) %線
58、性插值zi=interp1(x,y,xi,spline) %三次樣條插值wi=interp1(x,y,xi,cubic) %三次多項(xiàng)式插值說明:yi、zi、wi為對應(yīng)xi的不同類型的插值。x、y為已知數(shù)據(jù)點(diǎn)。例1:已知數(shù)據(jù):x0.1.2.3.4.5.6.7.8.91y.3.511.41.61.9.6.4.81.52求當(dāng)xi=0.25時(shí)的yi的值。程序:x=0:.1:1;y=.3 .5 1 1.4 1.6 1 .6 .4 .8 1.5 2;yi0=interp1(x,y,0.025,'linear')xi=0:.02:1;yi=interp1(x,y,xi
59、,'linear');zi=interp1(x,y,xi,'spline');wi=interp1(x,y,xi,'cubic');plot(x,y,'o',xi,yi,'r+',xi,zi,'g*',xi,wi,'k.-')legend('原始點(diǎn)','線性點(diǎn)','三次樣條','三次多項(xiàng)式')結(jié)果:yi0 = 0.3500 要得到給定的幾個(gè)點(diǎn)的對應(yīng)函數(shù)值,可用:xi = 0.2500 0
60、.3500 0.4500yi=interp1(x,y,xi,'spline')結(jié)果:yi =1.2088 1.5802 1.3454(二) 二元插值二元插值與一元插值的基本思想一致,對原始數(shù)據(jù)點(diǎn)(x,y,z)構(gòu)造見世面函數(shù)求出插值點(diǎn)數(shù)據(jù)(xi,yi,zi)。一、單調(diào)節(jié)點(diǎn)插值函數(shù),即x,y向量是單調(diào)的。調(diào)用格式1:zi=interp2(x,y,z,xi,yi,linear)liner 是雙線性插值 (缺省)調(diào)用格式2:zi=interp2(x,y,z,xi,yi,nearest)nearest 是最近鄰域插值調(diào)用格式3:zi=interp2(x
61、,y,z,xi,yi,spline)spline是三次樣條插值說明:這里x和y是兩個(gè)獨(dú)立的向量,它們必須是單調(diào)的。z是矩陣,是由x和y確定的點(diǎn)上的值。z和x,y之間的關(guān)系是z(i,:)=f(x,y(i) z(:,j)=f(x(j),y) 即:當(dāng)x變化時(shí),z的第i行與y的第i個(gè)元素相關(guān),當(dāng)y變化時(shí)z的第j列與x的第j個(gè)元素相關(guān)。如果沒有對x,y賦值,則默認(rèn)x=1:n, y=1:m。n和m分別是矩陣z的行數(shù)和列數(shù)。例2:已知某處山區(qū)地形選點(diǎn)測量坐標(biāo)數(shù)據(jù)為:x=0 0.5 1 1.5 2 2.5 3 3.5
62、; 4 4.5 5y=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6海拔高度數(shù)據(jù)為:z=89 90 87 85 92 91 96 93 90 87 82 92 96 98 99 95 91 89 86 84 82 84 96 98 95 92 90 88 85 84 83 81 85 80 81 82 89 95 96 93 92 89 86 86 82 85 87 98 99 96 97 88 85 82 83 82 85 89 94 95 93 92 91 86 84 8
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023企業(yè)內(nèi)容中臺白皮書
- 多元化紡織品設(shè)計(jì)師試題及答案
- 墜積性肺炎試題及答案
- 2024年紡織工程師證書考試挑戰(zhàn)攻略試題及答案
- 2024年設(shè)計(jì)師考試核心能力拓展試題及答案
- 2024年美術(shù)設(shè)計(jì)師行業(yè)標(biāo)準(zhǔn)試題及答案
- 2024年紡織品設(shè)計(jì)師的原創(chuàng)性試題及答案
- 南昌科目三燈光試題及答案
- 2024年紡織品檢驗(yàn)員考試常見問題試題及答案
- 探討廣告設(shè)計(jì)的文化含義與表現(xiàn) 試題及答案
- 社會科學(xué)處橫向課題合同書
- 常州施工招標(biāo)開標(biāo)清標(biāo)評標(biāo)報(bào)告
- 第十五屆運(yùn)動會場館醫(yī)療保障工作方案
- 生理衛(wèi)生教學(xué)課件青春期男生性教育走向成熟
- 體外診斷試劑標(biāo)準(zhǔn)品、校準(zhǔn)品、質(zhì)控品
- GB/T 3452.4-2020液壓氣動用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- 王力宏-緣分一道橋-歌詞
- 高校電子課件:現(xiàn)代管理學(xué)基礎(chǔ)(第三版)
- 《藥物學(xué)》課程教學(xué)大綱
- 艾滋病感染孕產(chǎn)婦所生兒童艾滋病早期診斷與抗體檢測流程圖
- 修改版絲竹相和
評論
0/150
提交評論