![數(shù)值分析課程設(shè)計(jì)用三次樣條插值設(shè)計(jì)中英文簽名_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a1.gif)
![數(shù)值分析課程設(shè)計(jì)用三次樣條插值設(shè)計(jì)中英文簽名_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a2.gif)
![數(shù)值分析課程設(shè)計(jì)用三次樣條插值設(shè)計(jì)中英文簽名_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a3.gif)
![數(shù)值分析課程設(shè)計(jì)用三次樣條插值設(shè)計(jì)中英文簽名_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a4.gif)
![數(shù)值分析課程設(shè)計(jì)用三次樣條插值設(shè)計(jì)中英文簽名_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a/4dcc1c6b-add1-4c5f-97f5-9c2e7a07316a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 報(bào) 告 課程名稱: 數(shù)值分析 題 目: 用三次樣條插值設(shè)計(jì)中英文簽名 院 系: 專 業(yè): 班 級(jí): 學(xué) 號(hào): 姓 名: 時(shí) 間: 目 錄1、理論分析(含問題分析,理論依據(jù),求解對(duì)策等);2、方法詳解(含推導(dǎo)、求解、分析、程序框圖等);3、應(yīng)用實(shí)例(含程序清單、計(jì)算結(jié)果輸出、圖形演示等);4、效果分析(含對(duì)不同方法間的圖形、數(shù)值等多方位的對(duì)比分析,對(duì)所得結(jié)果的合理解釋等)一、 理論分析:1. 問題分析 (1)設(shè)計(jì)自己的英文簽名,給出一組數(shù)據(jù)點(diǎn),用三次樣條曲線畫出所設(shè)計(jì)的英文簽名的字體。(2)設(shè)計(jì)你的草體漢字簽名,給出一組數(shù)據(jù)點(diǎn),分別用三次樣條曲線畫出所設(shè)計(jì)的中文簽字的字體. (3
2、)如果設(shè)計(jì)出的三次樣條不滿意,怎么改進(jìn)算法?2.2 分析思想 要設(shè)計(jì)出英(中)文簽名,首先、要獲得與自己英(中)文簽名相似的一組數(shù)據(jù)點(diǎn),最好這組數(shù)據(jù)點(diǎn)的獲取可因名字的改變而改變且簡(jiǎn)單易行,以適應(yīng)不同的簽名;其次、要選用合適的算法,才能設(shè)計(jì)出較美觀的簽名,問題要求用三次樣條插值做,若效果不滿意,改進(jìn)時(shí)可選擇其他算法;最后、選擇合適數(shù)學(xué)工具和備用改進(jìn)算法,合適的數(shù)學(xué)工具能大大簡(jiǎn)化我們的工作量,獲得滿意結(jié)果。備用的改進(jìn)算法的提出可以引導(dǎo)我們?cè)谙旅娴恼n程設(shè)計(jì)中注意基本算法的不足,多思考,勤探究。2. 理論依據(jù) 2.1 交互式界面 交互式界面即窗口、光標(biāo)、按鍵、菜單、文字說明等對(duì)象(Objects)構(gòu)成
3、的一個(gè)用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,比如實(shí)現(xiàn)獲取數(shù)據(jù)、計(jì)算、繪圖等。要使數(shù)據(jù)點(diǎn)可因名字的改變而改變且簡(jiǎn)單易行,以適應(yīng)不同的簽名,可采用交互式界面進(jìn)行操作。如我們可以用鼠標(biāo)點(diǎn)擊獲取名字大致的數(shù)據(jù)點(diǎn),顯然,不同名字可以實(shí)現(xiàn)能得到不同數(shù)據(jù)點(diǎn)。在MATLAB中,可以用ginput()函數(shù)輕松實(shí)現(xiàn)這一功能。 2.2 三次樣條插值算法 在區(qū)間a,b上給定有n+1個(gè)節(jié)點(diǎn)的分割:a=x<x<<x=b。若在a,b上定義的函數(shù)s(x)滿足:(1)在子區(qū)間x,x上s(x)是最高為三次的多項(xiàng)式,i=0,1, n-1;(2)在a,b上s
4、(x)是二階連續(xù)可微函數(shù),即s(x)Ca.b。則稱s(x)為a,b上關(guān)于分割的三次樣條函數(shù)。S(x)對(duì)應(yīng)的曲線稱為三次樣條曲線。若s(x)還滿足(3)S(x)=y=f,i=0,1,n則稱s(x)為a,b上關(guān)于分割的三次樣條插值函數(shù),f(x)稱為被插函數(shù)。三次樣條插值函數(shù)對(duì)應(yīng)的曲線稱為三次樣條插值曲線。我們知道分段低次插值的優(yōu)點(diǎn)是具有收斂性與穩(wěn)定性,缺點(diǎn)是光滑性較差,不能滿足實(shí)際需要.例如高速飛機(jī)的機(jī)翼形線、船體放樣形值線、精密機(jī)械加工等都要求有二階光滑度,即二階導(dǎo)數(shù)連續(xù),通常三次樣條(Spline)函數(shù)即可滿足要求。所以對(duì)于簽名,三次樣條插值算法完全能夠在給定的一組數(shù)據(jù)點(diǎn)下實(shí)現(xiàn)簽名效果。3.
5、求解對(duì)策 對(duì)策 問題 MATLAB7.0選用合適的數(shù)學(xué)工具雙三次插值算法選用改進(jìn)算法三次樣條插值算法:可產(chǎn)生二階光滑度,即二階導(dǎo)數(shù)連續(xù)簽名圖樣選用合適的算法采用交互式界面進(jìn)行操作,用鼠標(biāo)點(diǎn)擊獲取名字大致的數(shù)據(jù)點(diǎn)獲得與簽名相似的一組數(shù)據(jù)點(diǎn),最好可因名字的改變而改變實(shí)現(xiàn)英(中)文簽名二、 算法設(shè)計(jì)(推導(dǎo)、求解):2.1、三次樣條插值函數(shù)的定義樣條(Spline)是繪圖員用來描繪光滑曲線的均勻有彈性的細(xì)長(zhǎng)木條(或有機(jī)玻璃條)。用壓鐵將木條加以固定使它通過各型值點(diǎn),最后沿著這根木條畫出光滑曲線,作用與曲線板和云形規(guī)相似。我們稱這條光滑的曲線為樣條曲線,樣條曲線對(duì)應(yīng)的函數(shù)稱為樣條函數(shù)。它是連續(xù)的光滑的,
6、具有連續(xù)變化的曲率,實(shí)際上就是一條三次樣條曲線。定義:在區(qū)間a,b上給定有n+1個(gè)節(jié)點(diǎn)的分割:a=x<x<<x=b。若在a,b上定義的函數(shù)s(x)滿足:(1)在子區(qū)間x,x上s(x)是最高為三次的多項(xiàng)式,i=0,1, n-1;(2)在a,b上s(x)是二階連續(xù)可微函數(shù),即s(x)Ca.b。則稱s(x)為a,b上關(guān)于分割的三次樣條函數(shù)。S(x)對(duì)應(yīng)的曲線稱為三次樣條曲線。若s(x)還滿足(3)S(x)=y=f,i=0,1,n則稱s(x)為a,b上關(guān)于分割的三次樣條插值函數(shù),f(x)稱為被插函數(shù)。三次樣條插值函數(shù)對(duì)應(yīng)的曲線稱為三次樣條插值曲線。同時(shí)我們還可以通過計(jì)算三次樣條函數(shù)s
7、(x)在節(jié)點(diǎn)上的一階導(dǎo)數(shù)m=s(x)或二階導(dǎo)數(shù)M=s(x),i=0,1,n的值來求過型值點(diǎn)。(x,y),i=0,1,n的三次樣條函數(shù)。對(duì)應(yīng)地可以導(dǎo)出稱之為m關(guān)系式和關(guān)系式,它們分別是關(guān)于m和M的代數(shù)方程組。2.2三次樣條插值算法推導(dǎo)、求解記h=x,i=0,1,n-1。根據(jù)三次樣條函數(shù)的定義,當(dāng)x x,x時(shí),它是一個(gè)三次多項(xiàng)式,所以s(x)是線性函數(shù),可以表示為: s(x)= M+ M從x到x對(duì)其積分兩次,得s(x)= - M+ M+As (x)= M+ M+ A(x-x)+B 這里A,B是積分常數(shù),可由插值條件,即s(x)= y,s(x)=y,來確定。 解得: 則s(x),s(x)在xx上可表
8、示為:S(x)= M+ M+ (x-x)+y-Ms(x)=-M+M+-由上式易見,若M(i=0,1,n)確定后,則三次樣條插值函數(shù)s(x)就完全確定了。在上,由4.5.9得由此可得: 由于s(x)在x點(diǎn)處應(yīng)是連續(xù)函數(shù),即s(x)=s(x) i=1,2,n-1,得 令 得 , i=1,2,n-1這是一個(gè)含有n+1個(gè)未知量M,M,M的n-1個(gè)方程組成的線性方程組,我們稱它為M關(guān)系式。記m,根據(jù)Hermite插值,在,上由,,可得: 它在的右極限和的左極限分別為: 得 由 ,i=1,2,,n-1,得 兩邊乘以 ,并記 得 , = 1,2,n-1這是一個(gè)含有n+1個(gè)未知量,的n-1個(gè)方程組成的線性方程
9、組,我們稱它為m關(guān)系式。注:無論是M關(guān)系式還是m關(guān)系式,都應(yīng)該補(bǔ)充2個(gè)條件才能把它的解唯一地確定下來,這就是我們所要討論的端點(diǎn)約束條件。樣條插值函數(shù)的端點(diǎn)條件有多種形式,主要根據(jù)實(shí)際問題來確定。從物理觀點(diǎn)看,它們對(duì)應(yīng)在曲線兩端給出的約束類型。常用的端點(diǎn)約束條件有:自由端點(diǎn)條件,夾持端點(diǎn)條件,周期端點(diǎn)條件。下面我們主要來討論夾持端點(diǎn)條件來求解結(jié)果。在端點(diǎn)給定的一階導(dǎo)數(shù)值,即 , 這里,為已知數(shù),將它們代入關(guān)系式得 =這是關(guān)于n-1個(gè)未知量,由n-1個(gè)方程組成的線性方程組,根據(jù)其系數(shù)矩陣嚴(yán)格對(duì)角占優(yōu),方程組存在唯一解。關(guān)于M關(guān)系式,只要注意到 記 , ,和M關(guān)系式聯(lián)立得: = (20)這是一個(gè)關(guān)于
10、n+1未知量,,由n+1個(gè)方程組成的線性方程組,其系數(shù)矩陣為三角嚴(yán)格對(duì)角占優(yōu)矩陣,非奇異,上20式存在唯一解。 下面我們來分析一下樣條函數(shù)的收斂性問題:定理設(shè)在閉區(qū)間a,b上給定了一個(gè)分割序列 :記 中子區(qū)間的最大最小長(zhǎng)度分別為和即 = 設(shè)在區(qū)間上有4階連續(xù)導(dǎo)數(shù),且 對(duì)給定的分割序列成立 設(shè)為上的的樣條函數(shù),且,i=0,1,n, 則對(duì)一切成立 | , i= 0,1,2,3其中,和無關(guān),且,該定理表明,只要分割是比較均勻的,則樣條插值函數(shù)序列及其一至三階導(dǎo)函數(shù)均收斂于被插函數(shù)及其對(duì)應(yīng)階導(dǎo)函數(shù)。誤差估計(jì)問題: 設(shè),S是在上關(guān)于剖分的滿足I型邊界條件的三次樣條插值函數(shù),則有估計(jì)式 其中,。證明:設(shè)為
11、上關(guān)于節(jié)點(diǎn)的分段三次ermite插值多項(xiàng)式, j=0,1,n。在子區(qū)間(j=0,1,n-1)上,其中,為三次Hermite插值的基函數(shù)。對(duì)于,利用三次樣條插值函數(shù)表達(dá)式得 = 利用三次Hermite插值多項(xiàng)式的余項(xiàng)估計(jì)有 , 。 利用引理,當(dāng)有 由區(qū)間的任意性,即可以得出 由此說明了三次樣條插值函數(shù)S,當(dāng)時(shí),一致收斂于被插值函數(shù)三、 程序設(shè)計(jì)(分析、程序框圖):本實(shí)驗(yàn)中所有程序均是在MATLAB7.0環(huán)境下實(shí)現(xiàn)。3.1 ginput()程序分析 本實(shí)驗(yàn)利用兩種方法獲取簽名數(shù)據(jù)點(diǎn)(以下簡(jiǎn)稱點(diǎn)),由于MATLAB7.0中自帶的交互式函數(shù)ginput()在鼠標(biāo)單擊取點(diǎn)時(shí)無法顯示該點(diǎn)位置,為了能夠清晰
12、地知道當(dāng)前和已經(jīng)取過的點(diǎn)的位置,我才用了兩種取點(diǎn)方法:方法1:對(duì)MATLAB7.0中自帶的交互式函數(shù)ginput()進(jìn)行了修正 通過edit ginput,打開ginput()函數(shù),在位置136138行: pt = get(gca, 'CurrentPoint'); line('Parent',gca,'Xdata',pt(1,1),'Ydata',pt(1,2),'Marker','p','color','r');(我插入的) how_many = how_many
13、 - 1; 插入以上語句。另存為:myginput.m,即可實(shí)現(xiàn)交互式函數(shù)取點(diǎn),并留下痕跡。 方法2:不改ginput()函數(shù),利用while(1)單個(gè)取點(diǎn) while(1) 取一個(gè)點(diǎn),x,y=ginput(1) 用line函數(shù)將點(diǎn)改成紅色星星 將該點(diǎn)橫縱坐標(biāo)分別送入X、Y向量集內(nèi) if x,y無值,按了回車鍵 break endend 3.2三次樣條插值程序分析 3.2.1 符號(hào)對(duì)應(yīng)含義程序中符號(hào)算法分析中符號(hào)實(shí)際含義Xxx插值點(diǎn)橫坐標(biāo) Yyy插值點(diǎn)縱坐標(biāo) mn給定插值數(shù)據(jù)的維數(shù)H區(qū)間長(zhǎng)度lambda后一區(qū)間長(zhǎng)度比前兩個(gè)區(qū)間長(zhǎng)度之和mu前一區(qū)間長(zhǎng)度比后兩個(gè)區(qū)間長(zhǎng)度之和D的二階均差Sx三次樣條
14、插值所得函數(shù)3.2.2 初始化數(shù)據(jù):m取給定插值數(shù)據(jù)的維數(shù):m=length(X)H初始化為1*n的零矩陣:H=zeros(1,n),H(1)=X(2)-X(1),這里n=m-1lambda初始化為1*n的零矩陣:lambda=zeros(1,n) ,lambda(1)=1A初始化為m*m的零矩陣:A=zeros(m,m),A(1,1)=2,A(1,2)=lambda(1)mu初始化為1*n的零矩陣:mu=zeros(1,n), mu(1)=1D初始化為1*n的零矩陣:D=zeros(1,n),D(1)=3*(Y(2)-Y(1)3.2.3 求hk 、lambdak 、muk、dk算法:求hk:
15、for k=1:nhk=X(k+1)-X(k);H(k+1)=hk;end求lambdak、muk、dk:for k=1:n-1lambdak=H(k)/(H(k)+H(k+1); lambda(k+1)=lambdak;muk=1-lambda(k+1);mu(k)=muk;dk=3*(mu(k).*(Y(k+1)-Y(k)./H(k)+(lambda(k+1).*(Y(k+2)-Y(k+1)./H(k+1);D(k+1)=dfor k=2:m3.2.4 求Sx算法Sx=Y(k-1)*(H(k-1)-2*X(k-1)+2*x)*(x-X(k)2)/(H(k-1)3)+Y(k)*(H(k-1)
16、+2*X(k)-2*x)*(x-X(k-1)2)/(H(k-1)3)+dY(k-1)*(x-X(k-1)*(x-X(k)2)/(H(k-1)2)+dY(k)*(x-X(k)*(x-X(k-1)2)/(H(k-1)2)fprintf('%6.4f<x<',X(k-1);fprintf('%6.4fn',X(k);end3.3 圖像(簽名)輸出程序分析 利用subplot(m,n,t)z函數(shù)在一個(gè)窗口上顯示多個(gè)圖樣。用plot()畫出由spline()插值后的點(diǎn)所得簽名圖像。 用x,y,button=ginput(1)來實(shí)現(xiàn)中英文簽名判斷: if but
17、ton等于1 輸出標(biāo)題:英文簽名 elseif button等于3 輸出標(biāo)題:中文簽名 else 輸出空白標(biāo)題 end3.4 程序框圖 開始將gca設(shè)置成:set(gca,'xlimmode','manual','ylimmode','manual') 取 點(diǎn)方法1:調(diào)用函數(shù)mygiput()方法2:或調(diào)用函數(shù)ginput()獲取插值點(diǎn)的橫縱坐標(biāo)X,Y初始化數(shù)據(jù): m、H、lambda、A、mu、D等 插 值調(diào)用三次樣條插值函數(shù)spline()調(diào)用雙三次插值函數(shù)cubic() 輸出簽 名圖像調(diào)用窗口圖像控制函數(shù)subplot()調(diào)
18、用繪圖輸出函數(shù)plot() 判斷簽 名類型buttonbutton=3中文簽名button=1英文簽名=結(jié)束輸出簽名圖像和類型四、 簽名驗(yàn)證(應(yīng)用實(shí)例):4.1 程序清單 見附錄4.2 圖形演示 1.程序運(yùn)行,如下圖出現(xiàn)交互式界面,等待簽名者簽名。2.在窗口內(nèi)點(diǎn)擊簽名字樣,進(jìn)行取點(diǎn)簽名,如下圖為:wei的英文輪廓,紅色星星為鼠標(biāo)點(diǎn)擊留下的痕跡。4. 按回車鍵結(jié)束鼠標(biāo)取點(diǎn),程序輸出簽名圖像,如下圖(注意:此時(shí)并未輸出簽名類型,界面有十字光標(biāo),等待簽名者判斷操作):5. 單擊鼠標(biāo)左鍵,右下角出現(xiàn)簽名類型和圖例,如下圖為:英文簽名。若為中文簽名單擊鼠標(biāo)右鍵即可。5.中文簽名步驟與英文類似,以下僅給出
19、最后簽名結(jié)果: 4.3 計(jì)算結(jié)果輸出以下是對(duì)英文w進(jìn)行簽名得到的三次樣條函數(shù),由于wei取點(diǎn)較多,會(huì)輸出大量數(shù)據(jù),故僅對(duì)w進(jìn)行簽名能得到較簡(jiǎn)單的輸出:Sx = 62464/3*(-193/448+2*x)*(x-235/896)2+56320/3*(249/448-2*x)*(x-207/896)2+6118033249439999/4398046511104*(x-207/896)*(x-235/896)2-6540245714505983/2199023255552*(x-235/896)*(x-207/896)2 0.2310<x<0.2623 Sx = 1014570924
20、054025338880/14357685692506197*(-113/224+2*x)*(x-253/896)2+6511700658019471720448/100503799847543379*(131/224-2*x)*(x-235/896)2-53577692893233012736/7444725914632849*(x-235/896)*(x-253/896)2-42397238503447396352/7444725914632849*(x-253/896)*(x-235/896)2 0.2623<x<0.2824 Sx = 34594/3*(-237/448+2
21、*x)*(x-285/896)2+28126/3*(43/64-2*x)*(x-253/896)2-31699595438673743/17592186044416*(x-253/896)*(x-285/896)2-326583779752527493/140737488355328*(x-285/896)*(x-253/896)2 0.2824<x<0.3181 Sx = 23634890844440363008/2077211471716767*(-135/224+2*x)*(x-45/128)2+45540399431970455552/4846826767339123*(1
22、65/224-2*x)*(x-285/896)2-6824934499318125568/2584974275914195*(x-285/896)*(x-45/128)2-1791493680497956608/2584974275914195*(x-45/128)*(x-285/896)2 0.3181<x<0.3516 Sx = 728646390911527288832/11764505149049443*(-307/448+2*x)*(x-331/896)2+728646390911527288832/11764505149049443*(339/448-2*x)*(x-4
23、5/128)2-342903087282812007/140737488355328*(x-45/128)*(x-331/896)2+358054521960066379/281474976710656*(x-331/896)*(x-45/128)2 0.3516<x<0.3694 Sx = 80896/7*(-317/448+2*x)*(x-359/896)2+306176/21*(373/448-2*x)*(x-331/896)2+7307235142042171/17592186044416*(x-331/896)*(x-359/896)2+8991211591613103/
24、1099511627776*(x-359/896)*(x-331/896)2 0.3694<x<0.4007 Sx = 176498447297252989861888/119115614634127461*(-89/112+2*x)*(x-365/896)2+198929688090883804626944/119115614634127461*(23/28-2*x)*(x-359/896)2+1178496085735912636416/6617534146340383*(x-359/896)*(x-365/896)2+1143740219012357160960/661753
25、4146340383*(x-365/896)*(x-359/896)2 0.4007<x<0.4074 Sx = 6216552752840118894592/183498707266227759*(-177/224+2*x)*(x-387/896)2+7544718326147206610944/183498707266227759*(199/224-2*x)*(x-365/896)2+35741881844136161280/2780283443427697*(x-365/896)*(x-387/896)2+20118645543346483200/27802834434276
26、97*(x-387/896)*(x-365/896)2 0.4074<x<0.4319 Sx = 3772359163073603305472/68932647357711963*(-377/448+2*x)*(x-407/896)2+1429622665712490250240/22977549119237321*(417/448-2*x)*(x-387/896)2+20118645543346483200/2297754911923729*(x-387/896)*(x-407/896)2-2775508141924100096/2297754911923729*(x-407/8
27、96)*(x-387/896)2 0.4319<x<0.4542 Sx = 571849066284996100096/1985260243902075*(-401/448+2*x)*(x-419/896)2+7987440183916235849728/29778903658531125*(425/448-2*x)*(x-407/896)2-11102032567696400384/3308767073170137*(x-407/896)*(x-419/896)2-28520465010548310016/1102922357723379*(x-419/896)*(x-407/8
28、96)2 0.4542<x<0.4676 Sx = 3993720091958117924864/91749353633115129*(-51/56+2*x)*(x-63/128)2+1116028016459427872768/30583117877705043*(113/112-2*x)*(x-419/896)2-10695174378955616256/1390141721713861*(x-419/896)*(x-63/128)2-11288929969426923520/1390141721713861*(x-63/128)*(x-419/896)2 0.4676<
29、x<0.4922 Sx = 2232056032918855745536/61166235755409253*(-215/224+2*x)*(x-463/896)2+5109748108417545797632/183498707266227759*(237/224-2*x)*(x-63/128)2-22577859938853847040/2780283443427697*(x-63/128)*(x-463/896)2-19102396736613715968/2780283443427697*(x-463/896)*(x-63/128)2 0.4922<x<0.5167
30、Sx = 10219496216835091595264/141174061788594639*(-65/64+2*x)*(x-479/896)2+9112691572412518498304/141174061788594639*(487/448-2*x)*(x-463/896)2-76409586946454863872/5882252574524761*(x-463/896)*(x-479/896)2-18483686365463552000/5882252574524761*(x-479/896)*(x-463/896)2 0.5167<x<0.5346 Sx = 2803
31、905099203851845632/5429771607253539*(-475/448+2*x)*(x-487/896)2+5165088340638674452480/10083861556328001*(491/448-2*x)*(x-479/896)2-4620921591365888000/367640785907793*(x-479/896)*(x-487/896)2+1508454554874475264/367640785907793*(x-487/896)*(x-479/896)2 0.5346<x<0.5435 Sx = 2305843009213693952
32、0/3455776494575901*(-235/224+2*x)*(x-521/896)2+152185638608103800832/18814783137135461*(269/224-2*x)*(x-487/896)2+1508454554874475264/6640511695459569*(x-487/896)*(x-521/896)2+12413145765656442880/6640511695459569*(x-521/896)*(x-487/896)2 0.5435<x<0.5815 Sx = 1826227663297245609984/23529010298
33、098669*(-513/448+2*x)*(x-537/896)2+2047588592181760229376/23529010298098669*(545/448-2*x)*(x-521/896)2+3103286441414110720/367640785907793*(x-521/896)*(x-537/896)2+1463550859570462208/122546928635931*(x-537/896)*(x-521/896)2 0.5815<x<0.5993 Sx = 4095177184363520458752/47058020596198213*(-529/4
34、48+2*x)*(x-79/128)2+14130205960461516537856/141174061788594639*(561/448-2*x)*(x-537/896)2+70250441259382185984/5882252574524761*(x-537/896)*(x-79/128)2+65950649484600975360/5882252574524761*(x-79/128)*(x-537/896)2 0.5993<x<0.6172 Sx = 7065102980230758268928/100503799847543379*(-17/14+2*x)*(x-5
35、71/896)2+7766079255031721230336/100503799847543379*(145/112-2*x)*(x-79/128)2+65950649484600975360/7444725914632849*(x-79/128)*(x-571/896)2+55857837321506127872/7444725914632849*(x-571/896)*(x-79/128)2 0.6172<x<0.6373 Sx = 7766079255031721230336/29778903658531125*(-565/448+2*x)*(x-583/896)2+278
36、5458355130142294016/9926301219510375*(589/448-2*x)*(x-571/896)2+55857837321506127872/3308767073170137*(x-571/896)*(x-583/896)2+70453716399031435264/3308767073170137*(x-583/896)*(x-571/896)2 0.6373<x<0.6507五、 效果分析如上:前兩圖分別為三次樣條插值和雙三次插值的結(jié)果,第三個(gè)為兩種插值法對(duì)比截圖; 如上:兩圖分別為漢字魏的稀疏取點(diǎn)和簽名結(jié)果截圖;5.1效果對(duì)比 整體觀察,可以發(fā)現(xiàn),
37、三次樣條插值的簽名比較圓潤(rùn),而雙三次插值的簽名比較硬朗。 在前三個(gè)圖中,從第三個(gè)圖可以看出:在下面的三個(gè)標(biāo)注的紅色圈處,雙三次插值效果要比三次樣條插值好,而且不難發(fā)現(xiàn),這三個(gè)地點(diǎn)都是字母與字母的連接處。雙三次插值能夠快速實(shí)現(xiàn)連接,而樣條插值在字母連接處處理較慢。在上面標(biāo)注的紅色圈處可以看出三次樣條插值光滑度明顯優(yōu)于雙三次插值。從后兩個(gè)漢字簽名圖可以觀察到:簽名點(diǎn)數(shù)比較稀疏的情況下,雙三次插值能夠出色完成簽名任務(wù),得到較理想效果,而雙三次樣條插值字跡比較草,亂,不如雙三次插值字跡工整。5.2結(jié)果解釋在理論分析中,我們已經(jīng)提到,三次樣條插值有二階光滑度,即二階導(dǎo)數(shù)連續(xù),這是它的優(yōu)點(diǎn)。當(dāng)某點(diǎn)與前面點(diǎn)
38、產(chǎn)生較大偏差時(shí),如字母e的頂點(diǎn)與前面w上的點(diǎn)相比偏差過大,三次樣條插值算法會(huì)找出二階連續(xù)曲線去穿過這點(diǎn),所以導(dǎo)致它在簽名的 字母與字母的過度階段處理不夠直接。而雙三次插值不具有二階導(dǎo)數(shù)連續(xù)的性質(zhì),它對(duì)于上述偏差,視而不見,所以能夠快速實(shí)現(xiàn)字母之間的過度,這是它優(yōu)點(diǎn),但同時(shí)也是不足之處,它不能簽出較圓潤(rùn)的字體。所以,如果做單個(gè)字母的簽名,建議用三次樣條插值算法,做較多字母的簽名用雙三次插值好些。同時(shí)取點(diǎn)稀疏的簽名也建議用雙三次插值做。六、 附錄:程序如下:function out1,out2,out3 = myginput(arg1)%GINPUT Graphical input from mo
39、use.% X,Y = GINPUT(N) gets N points from the current axes and returns % the X- and Y-coordinates in length N vectors X and Y. The cursor% can be positioned using a mouse (or by using the Arrow Keys on some % systems). Data points are entered by pressing a mouse button% or any key on the keyboard exc
40、ept carriage return, which terminates% the input before N points are entered.% X,Y = GINPUT gathers an unlimited number of points until the% return key is pressed.% % X,Y,BUTTON = GINPUT(N) returns a third result, BUTTON, that % contains a vector of integers specifying which mouse button was% used (
41、1,2,3 from left) or ASCII numbers if a key on the keyboard% was used.% Copyright 1984-2004 The MathWorks, Inc.% $Revision: 5.32.4.3 $ $Date: 2004/04/10 23:33:41 $out1 = ; out2 = ; out3 = ; y = ;c = computer;if strcmp(c(1:2),'PC') tp = get(0,'TerminalProtocol');else tp = 'micro
42、9;endif strcmp(tp,'none') & strcmp(tp,'x') & strcmp(tp,'micro'), if nargout = 1, if nargin = 1, out1 = trmginput(arg1); else out1 = trmginput; end elseif nargout = 2 | nargout = 0, if nargin = 1, out1,out2 = trmginput(arg1); else out1,out2 = trmginput; end if nargout
43、= 0 out1 = out1 out2 ; end elseif nargout = 3, if nargin = 1, out1,out2,out3 = trmginput(arg1); else out1,out2,out3 = trmginput; end endelse fig = gcf; figure(gcf); if nargin = 0 how_many = -1; b = ; else how_many = arg1; b = ; if isstr(how_many) . | size(how_many,1) = 1 | size(how_many,2) = 1 . | (
44、fix(how_many) = how_many) . | how_many < 0 error('Requires a positive integer.') end if how_many = 0 ptr_fig = 0; while(ptr_fig = fig) ptr_fig = get(0,'PointerWindow'); end scrn_pt = get(0,'PointerLocation'); loc = get(fig,'Position'); pt = scrn_pt(1) - loc(1), scr
45、n_pt(2) - loc(2); out1 = pt(1); y = pt(2); elseif how_many < 0 error('Argument must be a positive integer.') end end % Remove figure button functions state = uisuspend(fig); pointer = get(gcf,'pointer'); set(gcf,'pointer','fullcrosshair'); fig_units = get(fig,'
46、units'); char = 0; % We need to pump the event queue on unix % before calling WAITFORBUTTONPRESS drawnow while how_many = 0 % Use no-side effect WAITFORBUTTONPRESS waserr = 0; trykeydown = wfbp; catchwaserr = 1; end if(waserr = 1) if(ishandle(fig) set(fig,'units',fig_units); uirestore(st
47、ate); error('Interrupted'); else error('Interrupted by figure deletion'); end end ptr_fig = get(0,'CurrentFigure'); if(ptr_fig = fig) if keydown char = get(fig, 'CurrentCharacter'); button = abs(get(fig, 'CurrentCharacter'); scrn_pt = get(0, 'PointerLocati
48、on'); set(fig,'units','pixels') loc = get(fig, 'Position'); pt = scrn_pt(1) - loc(1), scrn_pt(2) - loc(2); set(fig,'CurrentPoint',pt); else button = get(fig, 'SelectionType'); if strcmp(button,'open') button = 1; elseif strcmp(button,'normal') button = 1; elseif strcmp(button,'extend') button = 2; elseif strcmp(button,'alt') button = 3; else error('Invalid mouse selection.') end end pt =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025完整施工隊(duì)合同
- 兼職中醫(yī)師聘用合同
- 活動(dòng)承辦合同模板
- 合同示范文本庫
- 變壓器承包合同
- 企業(yè)員工勞動(dòng)合同范本
- 連帶責(zé)任擔(dān)保借款合同范本
- 2025關(guān)于土地轉(zhuǎn)讓合同范本
- 定制家具合同
- 知識(shí)產(chǎn)權(quán)許可使用及轉(zhuǎn)讓合同范本
- 個(gè)人安全與社會(huì)責(zé)任的基本知識(shí)概述
- 建筑裝飾工程計(jì)量與計(jì)價(jià)試題一及答案
- 簡(jiǎn)易勞務(wù)合同電子版
- 明代文學(xué)緒論
- 通用稅務(wù)自查情況說明報(bào)告(7篇)
- 體育賽事的策劃、組織與實(shí)施 體育賽事利益相關(guān)者
- 分析化學(xué)(高職)PPT完整版全套教學(xué)課件
- 晚熟的人(莫言諾獎(jiǎng)后首部作品)
- m拱頂儲(chǔ)罐設(shè)計(jì)計(jì)算書
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級(jí)下冊(cè)科學(xué)全冊(cè)教學(xué)課件
評(píng)論
0/150
提交評(píng)論