數(shù)值分析 課程設(shè)計報告 學(xué)生姓名
學(xué)生學(xué)號
所在班級
指導(dǎo)教師
一、課程設(shè)計名稱 函數(shù)逼近與曲線擬合 二、課程設(shè)計目的及要求 實驗?zāi)康? ⑴學(xué)會用最小二乘法求擬合數(shù)據(jù)的多項式,并應(yīng)用算法于實際問題。
⑵學(xué)會基本的矩陣運算,注意點乘與叉乘的區(qū)別。
實驗要求: ⑴編寫程序用最小二乘法求擬合數(shù)據(jù)的多項式,并求平方誤差,做出離散函數(shù) 與擬合函數(shù)的圖形; ⑵用 MATLAB 的內(nèi)部函數(shù) polyfit 求解上面最小二乘法曲線擬合多項式的系數(shù)及平方誤差,并用MATLAB的內(nèi)部函數(shù)plot作出其圖形,并與(1)結(jié)果進(jìn)行比較。
三、課程設(shè)計中的算法描述 用最小二乘法多項式曲線擬合,根據(jù)給定的數(shù)據(jù)點,并不要求這條曲線精確的經(jīng)過這些點,而就是擬合曲線無限逼近離散點所形成的數(shù)據(jù)曲線。
思 路 分 析 : 從 整 體 上 考 慮 近 似 函 數(shù) ) (x p 同 所 給 數(shù) 據(jù) 點 )
(i iy x , 誤 差i i iy x p r ? ? ) ( 的大小,常用的方法有三種:一就是誤差i i iy x p r ? ? ) ( 絕對值的最大值im ir? ? 0max ,即誤差向量的無窮范數(shù);二就是誤差絕對值的與 ??miir0,即誤差向量的 1成績評定
范數(shù);三就是誤差平方與 ??miir02的算術(shù)平方根,即類似于誤差向量的 2 范數(shù)。前兩種方法簡單、自然,但不便于微分運算,后一種方法相當(dāng)于考慮 2 范數(shù)的平方,此次采用第三種誤差分析方案。
算法的具體推導(dǎo)過程: 1、設(shè)擬合多項式為:
2、給點到這條曲線的距離之與,即偏差平方與:
3、為了求得到符合條件的 a 的值,對等式右邊求 偏導(dǎo)數(shù),因而我們得到了:
4、將等式左邊進(jìn)行一次簡化,然后應(yīng)該可以得到下面的等式
5、把這些等式表示成矩陣的形式,就可以得到下面的矩陣:
????????????????????????????????????????????????????????? ? ?? ? ?? ????? ?????? ?? ?niininiiknikinikinikinikiniiniinikiniiyyyaax x xx x xx x11i11012111111211 1an???? ? ? ??? 6. 將這個范德蒙得矩陣化簡后得到 ???????????????????????????????????????n kkn nkkyyyaaax xx xx x? ??? ? ? ???21102 21 1111 7、因為 Y A X ? * ,那么 X Y A / ? ,計算得到系數(shù)矩陣,同時就得到了擬合曲線。
四、課程設(shè)計內(nèi)容 ⑴實驗環(huán)境:MATLAB2010 ⑵實驗內(nèi)容:給定的數(shù)據(jù)點
0 0、5 0、6 0、7 0、8 0、9 1、0
1 1、75 1、96 2、19 2、44 2、71 3、00 1) 用最小二乘法求擬合數(shù)據(jù)的多項式; 2) 用 MATLAB 內(nèi)部函數(shù) polyfit 函數(shù)進(jìn)行擬合。
⑶實驗步驟 1)首先根據(jù)表格中給定的數(shù)據(jù),用 MATLAB 軟件畫出數(shù)據(jù)的散點圖(圖 1)。
2)觀察散點圖的變化趨勢,近似于二次函數(shù)。則用二次多項式進(jìn)行擬合,取一組基函數(shù) ,并令 ,其中 就是待定系數(shù) 。
3)用 MATLAB 程序作線性最小二乘法的多項式擬合,求待定系數(shù)。
算法實現(xiàn)代碼如下: x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=[1 1、75 1、96 2、19 2、44 2、71 3、00]; R=[(x、^2)" x" ones(7,1)]; A=R\y"
4) 用 MATLAB 程序計算平均誤差。
算法實現(xiàn)代碼如下: y1=[1 1、75 1、96 2、19 2、44 2、71 3、00]; x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=x、^2+x+1; z=(y-y1)、^2; sum(z) 5) 作出擬合曲線與數(shù)據(jù)圖形(圖 2)。
6) 用MATLAB 的內(nèi)部函數(shù) polyfit 求解上面最小二乘法曲線擬合多項式的系數(shù)及平方誤差。
算法實現(xiàn)代碼如下: x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=[1 1、75 1、96 2、19 2、44 2、71 3、00]; A=polyfit(x,y,2);%二次多形式擬合% z=polyval(A,x); A d=sum((z-y)、^2) 7)繪制使用 polyfit 函數(shù)實現(xiàn)的擬合圖形。(圖 3) 五、程序流程圖
圖 5-1 用最小二乘法求多項式擬合曲線流程圖
圖 5-2 用 polyfit 函數(shù)求多項式擬合曲線流程圖 六、實驗結(jié)果 輸入初始數(shù)據(jù)點 根據(jù)原始數(shù)據(jù)繪制散點圖 分析數(shù)據(jù)點變化趨勢,確定擬合多項式 用最小二乘法求系數(shù)矩陣,確定多項式 用所求的多項式,計算誤差 繪制擬合曲線 輸入初始數(shù)據(jù)點 調(diào)用 polyfit 函數(shù),確定多形式的系數(shù) 調(diào)用 plot 函數(shù)進(jìn)行繪圖 調(diào)用 polyval 函數(shù),進(jìn)行多項式求值
圖 6-1 表中數(shù)據(jù)的散點圖
圖 6-2、 最小二乘法實現(xiàn)的擬合曲線 第 1 問
系數(shù)為 A =
1、0000
1、0000
1、0000 則多項式的方程為
平方誤差與為 ans =1、9722e-031
圖 6-3、 polyfit 函數(shù)實現(xiàn)的擬合函數(shù) 第 2 問 系數(shù)為 A =
1、0000
1、0000
1、0000 則多項式的方程為
平方誤差與為 ans =
1、9722e-031
七、實驗結(jié)果分析 編寫程序用最小二乘法求擬合曲線的多項式的過程中,求出的數(shù)據(jù)與擬合函數(shù)的平方誤差很小,達(dá)到了很高的精度要求,以及通過散點求得的擬合曲線比較
光滑。而用 MATLAB 的內(nèi)部函數(shù)求 polyfit 求解的曲線擬合多項式與平方誤差與程序求得的相同,還有就就是雖然求解過程簡單了,但用 MATLAB 的內(nèi)部函數(shù)做出的圖形由明顯的尖點,不夠光滑。
此次實驗數(shù)據(jù)較少,而且數(shù)據(jù)基本都就是可靠數(shù)據(jù)。但就是在應(yīng)用實際問題中,數(shù)據(jù)會很龐雜,此時對于最小為乘法的算法就需要進(jìn)一步的細(xì)化。例如在進(jìn)行數(shù)據(jù)采集時,由于數(shù)據(jù)采集器(各種傳感器)或機器自身的原因及其外部各種因素的制約,導(dǎo)致數(shù)據(jù)偶爾會有大幅度的波動,及產(chǎn)生一些偏差極大的數(shù)據(jù),不能真實反映數(shù)據(jù)的可靠性,所以會對數(shù)據(jù)進(jìn)行篩選或修正。而此時就可應(yīng)用曲線擬合的最小二乘法的進(jìn)行處理。
八、實驗心得體會 在日常的學(xué)習(xí)與生活中,我們可能會遇到各種方面的跟數(shù)據(jù)有關(guān)的問題,并不就是所有的數(shù)據(jù)都就是有用,必須對數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚?然后找出數(shù)據(jù)之間的關(guān)系,然后進(jìn)行分析得出結(jié)果。此次實驗結(jié)果基本沒有大的區(qū)別,可就是MATLAB 提供給我們一個特別簡潔的辦法,應(yīng)用一個函數(shù)即可實現(xiàn)相同的結(jié)果。雖然很方便,但就是對于初學(xué)者來說,我覺得打好基礎(chǔ)才就是關(guān)鍵,對于一個知識點,應(yīng)該掌握其最基本的原理,然后在將它應(yīng)用于實際。
通過這個實驗我也理解到了,數(shù)值分析就是一個工具學(xué)科,它教給了我們分析與解決數(shù)值計算問題得方法,使我從中得到很多關(guān)于算法的思想,從中受益匪淺。
附錄:源代碼 散點圖: x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=[1 1、75 1、96 2、19 2、44 2、71 3、00]; plot(x,y,"r*") title("實驗數(shù)據(jù)點的散點圖"); legend("數(shù)據(jù)點(xi,yi)"); xlable("x"); ylable("y"); 最小二乘擬合:
x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=[1 1、75 1、96 2、19 2、44 2、71 3、00]; R=[(x、^2)" x" ones(7,1)]; A=R\y" x1=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y1=[1 1、75 1、96 2、19 2、44 2、71 3、00]; x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=x、^2+x+1; plot(x1,y1,"k+",x,y,"r") title("實驗數(shù)據(jù)點的散點圖及擬合曲線"); z=(y-y1)、^2; sum(z) Polyfit 函數(shù)擬合: x=[0 0、5 0、6 0、7 0、8 0、9 1、0]; y=[1 1、75 1、96 2、19 2、44 2、71 3、00]; A=polyfit(x,y,2);%二次多形式擬合% z=polyval(A,x); A d=sum((z-y)、^2) plot(x,y,"k+") title("實驗數(shù)據(jù)點的散點圖及擬合曲線"); hold on plot(x,z,"r")
推薦訪問: 擬合 曲線 實驗在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據(jù)省局黨組《關(guān)于舉辦習(xí)近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學(xué)習(xí)、專題研討以及交流分享等形式,系統(tǒng)的對《習(xí)近平談治國理政》(第四卷)進(jìn)行了深入的學(xué)習(xí)與交流,下面我就來談一談我個人
《習(xí)近平談治國理政》(第四卷)是在百年變局和世紀(jì)疫情相互疊加的大背景下,對以習(xí)近平同志為核心的黨中央治國理政重大戰(zhàn)略部署、重大理論創(chuàng)造、重大思想引領(lǐng)的系統(tǒng)呈現(xiàn)。它生動記錄了新一代黨中央領(lǐng)導(dǎo)集體統(tǒng)籌兩個
《真抓實干做好新發(fā)展階段“三農(nóng)工作”》是《習(xí)近平談治國理政》第四卷中的文章,這是習(xí)近平總書記在2020年12月28日中央農(nóng)村工作會議上的集體學(xué)習(xí)時的講話。文章指出,我常講,領(lǐng)導(dǎo)干部要胸懷黨和國家工作大
在《習(xí)近平談治國理政》第四卷中,習(xí)近平總書記強調(diào),江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執(zhí)政黨,在中國共產(chǎn)黨的字典里,“人民”一詞從來都
黨的十八大以來,習(xí)近平總書記以馬克思主義戰(zhàn)略家的博大胸襟和深謀遠(yuǎn)慮,在治國理政和推動全球治理中牢固樹立戰(zhàn)略意識,在不同場合多次圍繞戰(zhàn)略策略的重要性,戰(zhàn)略和策略的關(guān)系,提高戰(zhàn)略思維、堅定戰(zhàn)略自信、強化戰(zhàn)
《習(xí)近平談治國理政》第四卷集中展示了以習(xí)近平同志為核心的黨中央在百年變局和世紀(jì)疫情相互疊加背景下,如何更好地堅持和發(fā)展中國特色社會主義而進(jìn)行的生動實踐與理論探索;對于新時代堅持和發(fā)展什么樣的中國特色社
在黨組織的關(guān)懷下,我有幸參加了區(qū)委組織部組織的入黨積極分子培訓(xùn)班。為期一周的學(xué)習(xí),學(xué)習(xí)形式多樣,課程內(nèi)容豐富,各位專家的講解細(xì)致精彩,對于我加深對黨的創(chuàng)新理論的認(rèn)識、對黨的歷史的深入了解、對中共黨員的
《習(xí)近平談治國理政》第四卷《共建網(wǎng)上美好精神家園》一文中指出:網(wǎng)絡(luò)玩命是新形勢下社會文明的重要內(nèi)容,是建設(shè)網(wǎng)絡(luò)強國的重要領(lǐng)域。截至2021年12月,我國網(wǎng)民規(guī)模達(dá)10 32億,較2020年12月增長4
剛剛召開的中國共產(chǎn)黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產(chǎn)黨第二十次全國代表大會的報告、黨的十九屆中央紀(jì)律檢查委員會向中國共產(chǎn)黨第二十次全國代表大會的工作報告和《