數(shù)值分析實(shí)驗(yàn)報(bào)告5篇_第1頁(yè)
數(shù)值分析實(shí)驗(yàn)報(bào)告5篇_第2頁(yè)
數(shù)值分析實(shí)驗(yàn)報(bào)告5篇_第3頁(yè)
數(shù)值分析實(shí)驗(yàn)報(bào)告5篇_第4頁(yè)
數(shù)值分析實(shí)驗(yàn)報(bào)告5篇_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 誤差分析實(shí)驗(yàn)1.1(問(wèn)題)實(shí)驗(yàn)?zāi)康模核惴ㄓ小皟?yōu)”與“劣”之分,問(wèn)題也有“好”與“壞”之別。對(duì)數(shù)值方法的研究而言,所謂壞問(wèn)題就是問(wèn)題本身對(duì)擾動(dòng)敏感者,反之屬于好問(wèn)題。通過(guò)本實(shí)驗(yàn)可獲得一個(gè)初步體會(huì)。數(shù)值分析的大部分研究課題中,如線性代數(shù)方程組、矩陣特征值問(wèn)題、非線性方程及方程組等都存在病態(tài)的問(wèn)題。病態(tài)問(wèn)題要通過(guò)研究和構(gòu)造特殊的算法來(lái)解決,當(dāng)然一般要付出一些代價(jià)(如耗用更多的機(jī)器時(shí)間、占用更多的存儲(chǔ)空間等)。問(wèn)題提出:考慮一個(gè)高次的代數(shù)多項(xiàng)式顯然該多項(xiàng)式的全部根為1,2,20共計(jì)20個(gè),且每個(gè)根都是單重的?,F(xiàn)考慮該多項(xiàng)式的一個(gè)擾動(dòng)其中是一個(gè)非常小的數(shù)。這相當(dāng)于是對(duì)(1.1)中的系數(shù)作一個(gè)小的擾動(dòng)。

2、我們希望比較(1.1)和(1.2)根的差別,從而分析方程(1.1)的解對(duì)擾動(dòng)的敏感性。實(shí)驗(yàn)內(nèi)容:為了實(shí)現(xiàn)方便,我們先介紹兩個(gè)Matlab函數(shù):“roots”和“poly”。其中若變量a存儲(chǔ)n+1維的向量,則該函數(shù)的輸出u為一個(gè)n維的向量。設(shè)a的元素依次為,則輸出u的各分量是多項(xiàng)式方程的全部根;而函數(shù)的輸出b是一個(gè)n+1維變量,它是以n維變量v的各分量為根的多項(xiàng)式的系數(shù)??梢?jiàn)“roots”和“poly”是兩個(gè)互逆的運(yùn)算函數(shù)。上述簡(jiǎn)單的Matlab程序便得到(1.2)的全部根,程序中的“ess”即是(1.2)中的。實(shí)驗(yàn)要求:(1) 選擇充分小的ess,反復(fù)進(jìn)行上述實(shí)驗(yàn),記錄結(jié)果的變化并分析它們。如

3、果擾動(dòng)項(xiàng)的系數(shù)很小,我們自然感覺(jué)(1.1)和(1.2)的解應(yīng)當(dāng)相差很小。計(jì)算中你有什么出乎意料的發(fā)現(xiàn)?表明有些解關(guān)于如此的擾動(dòng)敏感性如何?(2) 將方程(1.2)中的擾動(dòng)項(xiàng)改成或其它形式,實(shí)驗(yàn)中又有怎樣的現(xiàn)象出現(xiàn)?(3) (選作部分)請(qǐng)從理論上分析產(chǎn)生這一問(wèn)題的根源。注意我們可以將方程(1.2)寫(xiě)成展開(kāi)的形式,同時(shí)將方程的解x看成是系數(shù)的函數(shù),考察方程的某個(gè)解關(guān)于的擾動(dòng)是否敏感,與研究它關(guān)于的導(dǎo)數(shù)的大小有何關(guān)系?為什么?你發(fā)現(xiàn)了什么現(xiàn)象,哪些根關(guān)于的變化更敏感?思考題一:(上述實(shí)驗(yàn)的改進(jìn))在上述實(shí)驗(yàn)中我們會(huì)發(fā)現(xiàn)用roots函數(shù)求解多項(xiàng)式方程的精度不高,為此你可以考慮用符號(hào)函數(shù)solve來(lái)提高解

4、的精確度,這需要用到將多項(xiàng)式轉(zhuǎn)換為符號(hào)多項(xiàng)式的函數(shù)poly2sym,函數(shù)的具體使用方法可參考Matlab的幫助。實(shí)驗(yàn)過(guò)程:程序:a=poly(1:20);rr=roots(a);for n=2:21 n for m=1:9 ess=10(-6-m);ve=zeros(1,21); ve(n)=ess;r=roots(a+ve); -6-m s=max(abs(r-rr) endend利用符號(hào)函數(shù):(思考題一)a=poly(1:20);y=poly2sym(a);rr=solve(y)for n=2:21 n for m=1:8 ess=10(-6-m); ve=zeros(1,21); ve(

5、n)=ess; a=poly(1:20)+ve; y=poly2sym(a); r=solve(y); -6-m s=max(abs(r-rr) endend數(shù)值實(shí)驗(yàn)結(jié)果及分析:format long-6-m n-7-8-9-1022.3311.1581.7480.04731.4240.9640.7410.41140.5360.0610.834050.8710.8440060000700008000090000100000110000120000130000140000150000160000170000180000190000200000210000-6-m n-11-12-13-1420.

6、3800.2800.598030.546000400005000060000700008000090000100000110000120000130000140000150000160000170000180000190000200000210000討論:利用這種方法進(jìn)行這類實(shí)驗(yàn),可以很精確的擾動(dòng)敏感性的一般規(guī)律。即當(dāng)對(duì)擾動(dòng)項(xiàng)的系數(shù)越來(lái)越小時(shí),對(duì)其多項(xiàng)式擾動(dòng)的結(jié)果也就越來(lái)越小,即擾動(dòng)敏感性與擾動(dòng)項(xiàng)的系數(shù)成正比,擾動(dòng)項(xiàng)的系數(shù)越大,對(duì)其根的擾動(dòng)敏感性就越明顯,當(dāng)擾動(dòng)的系數(shù)一定時(shí),擾動(dòng)敏感性與擾動(dòng)的項(xiàng)的冪數(shù)成正比,擾動(dòng)的項(xiàng)的冪數(shù)越高,對(duì)其根的擾動(dòng)敏感性就越明顯。實(shí)驗(yàn)總結(jié): 利用MATLAB來(lái)進(jìn)行病態(tài)

7、問(wèn)題的實(shí)驗(yàn),雖然其得出的結(jié)果是有誤差的,但是可以很容易的得出對(duì)一個(gè)多次的代數(shù)多項(xiàng)式的其中某一項(xiàng)進(jìn)行很小的擾動(dòng),對(duì)其多項(xiàng)式的根會(huì)有一定的擾動(dòng)的,所以對(duì)于這類病態(tài)問(wèn)題可以借助于MATLAB來(lái)進(jìn)行問(wèn)題的分析。 插值法實(shí)驗(yàn)2.1(多項(xiàng)式插值的振蕩現(xiàn)象)問(wèn)題提出:考慮一個(gè)固定的區(qū)間上用插值逼近一個(gè)函數(shù)。顯然拉格朗日插值中使用的節(jié)點(diǎn)越多,插值多項(xiàng)式的次數(shù)就越高。 我們自然關(guān)心插值多項(xiàng)式的次數(shù)增加時(shí),L(x)是否也更加靠近被逼近的函數(shù)。龍格給出了一個(gè)極著名例子。設(shè)區(qū)間-1,1上函數(shù) f(x)=1(1+25x2)實(shí)驗(yàn)內(nèi)容:考慮區(qū)間-1,1的一個(gè)等距劃分,分點(diǎn)為: x(i)=-1+2i/n,i=0,1,2,n澤

8、拉格朗日插值多項(xiàng)式為: L(x)=l(i)(x)/(1+25x(j)2 ) i=0,1,n其中l(wèi)(i)(x), i=0,1,n,n是n次拉格朗日插值基函數(shù)。實(shí)驗(yàn)要求: 選擇不斷增大的分點(diǎn)數(shù)目n=2,3,畫(huà)出f(x)及插值多項(xiàng)式函數(shù)L(x)在-1,1上的圖象,比較分析實(shí)驗(yàn)結(jié)果。(2)選擇其它的函數(shù),例如定義在區(qū)間-5,5上的函數(shù) h(x)=x/(1+x4) , g(x)=arctanx 重復(fù)上述的實(shí)驗(yàn)看其結(jié)果如何。 (3)區(qū)間a,b上切比雪夫點(diǎn)的定義為: xk=(b+a)/2+(b-a)/2)cos(2k-1)/(2(n+1),k=1,2,n+1 以x1,x2x(n+1)為插值節(jié)點(diǎn)構(gòu)造上述各函數(shù)

9、的拉格朗日插值多項(xiàng)式,比較其結(jié)果。實(shí)驗(yàn)過(guò)程:程序:多項(xiàng)式插值的震蕩現(xiàn)象(實(shí)驗(yàn)2.1)for m=1:6 subplot(2,3,m) %把窗口分割成2*3大小的窗口 largrang(6*m) %對(duì)largrang函數(shù)進(jìn)行運(yùn)行 if m=1 title(longn=6) elseif m=2 title(longn=12) elseif m=3 title(longn=18) elseif m=4 title(longn=24) elseif m=5 title(longn=30) elseif m=6 title(longn=36) end %對(duì)每個(gè)窗口分別寫(xiě)上標(biāo)題為插值點(diǎn)的個(gè)數(shù)end保存為

10、:chazhi.mfunction largrang(longn)mm=input(please input mm(運(yùn)行第幾個(gè)函數(shù)就輸入mm為幾):mm=)if mm=1 %d表示定義域的邊界值 d=1;elseif mm=2|mm=3 d=5;endx0=linspace(-d,d,longn); %x的節(jié)點(diǎn)if mm=1 y0=1./(1.+25.*x0.2);elseif mm=2 y0=x0./(1.+x0.4);elseif mm=3 y0=atan(x0);endx=sym(x);n=length(x0); s=0.0;for k=1:n p=1.0; for j=1:n if j

11、=k p=p*(x-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s;endy=s;if mm=1 ezplot(1/(1+25*x2)elseif mm=2 ezplot(x/(1+x4)elseif mm=3 ezplot(atan(x)endhold onezplot(y,-d,d)hold off保存為:largrang.m數(shù)值實(shí)驗(yàn)結(jié)果及分析:對(duì)于第一個(gè)函數(shù)f(x)=1/(1+25x2)對(duì)于第二個(gè)函數(shù)h(x)=x/(1+x4)對(duì)于第三個(gè)函數(shù)g(x)=arctan(x)討論:通過(guò)對(duì)三個(gè)函數(shù)得出的largrang插值多項(xiàng)式并在數(shù)學(xué)軟件中的運(yùn)行,得出函數(shù)圖象,說(shuō)

12、明了對(duì)函數(shù)的支點(diǎn)不是越多越好,而是在函數(shù)的兩端而言支點(diǎn)越多,而largrang插值多項(xiàng)式不是更加靠近被逼近的函數(shù),反而更加遠(yuǎn)離函數(shù),在函數(shù)兩端的跳動(dòng)性更加明顯,argrang插值多項(xiàng)式對(duì)函數(shù)不收斂。實(shí)驗(yàn)總結(jié):利用MATLAB來(lái)進(jìn)行函數(shù)的largrang插值多項(xiàng)式問(wèn)題的實(shí)驗(yàn),雖然其得出的結(jié)果是有誤差的,但是增加支點(diǎn)的個(gè)數(shù)進(jìn)行多次實(shí)驗(yàn),可以找出函數(shù)的largrang插值多項(xiàng)式的一般規(guī)律,當(dāng)支點(diǎn)增加時(shí),largrang插值多項(xiàng)式對(duì)函數(shù)兩端不收斂,不是更加逼近,而是更加遠(yuǎn)離,跳動(dòng)性更強(qiáng)。所以對(duì)于函數(shù)的largrang插值多項(xiàng)式問(wèn)題可以借助于MATLAB來(lái)進(jìn)行問(wèn)題的分析,得到比較準(zhǔn)確的實(shí)驗(yàn)結(jié)規(guī)律。 解線

13、性方程組的直接方法實(shí)驗(yàn) (主元的選取與算法的穩(wěn)定性)問(wèn)題提出:Gauss消去法是我們?cè)诰€性代數(shù)中已經(jīng)熟悉的。但由于計(jì)算機(jī)的數(shù)值運(yùn)算是在一個(gè)有限的浮點(diǎn)數(shù)集合上進(jìn)行的,如何才能確保Gauss消去法作為數(shù)值算法的穩(wěn)定性呢?Gauss消去法從理論算法到數(shù)值算法,其關(guān)鍵是主元的選擇。主元的選擇從數(shù)學(xué)理論上看起來(lái)平凡,它卻是數(shù)值分析中十分典型的問(wèn)題。實(shí)驗(yàn)內(nèi)容:考慮線性方程組 編制一個(gè)能自動(dòng)選取主元,又能手動(dòng)選取主元的求解線性方程組的Gauss消去過(guò)程。實(shí)驗(yàn)要求:(1)取矩陣,則方程有解。取n=10計(jì)算矩陣的條件數(shù)。讓程序自動(dòng)選取主元,結(jié)果如何?(2)現(xiàn)選擇程序中手動(dòng)選取主元的功能。每步消去過(guò)程總選取按模最

14、小或按模盡可能小的元素作為主元,觀察并記錄計(jì)算結(jié)果。若每步消去過(guò)程總選取按模最大的元素作為主元,結(jié)果又如何?分析實(shí)驗(yàn)的結(jié)果。(3)取矩陣階數(shù)n=20或者更大,重復(fù)上述實(shí)驗(yàn)過(guò)程,觀察記錄并分析不同的問(wèn)題及消去過(guò)程中選擇不同的主元時(shí)計(jì)算結(jié)果的差異,說(shuō)明主元素的選取在消去過(guò)程中的作用。(4)選取其他你感興趣的問(wèn)題或者隨機(jī)生成矩陣,計(jì)算其條件數(shù)。重復(fù)上述實(shí)驗(yàn),觀察記錄并分析實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)過(guò)程:程序:建立M文件:function x=gauss(n,r)n=input(請(qǐng)輸入矩陣A的階數(shù):n=)A=diag(6*ones(1,n)+diag(ones(1,n-1),1)+diag(8*ones(1,n-

15、1),-1)b=A*ones(n,1)p=input(條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=)pp=cond(A,p)pausem,n=size(A);nb=n+1;Ab=A br=input(請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=)for i=1:n-1 if r=0 pivot,p=max(abs(Ab(i:n,i); ip=p+i-1; if ip=i Ab(i ip,:)=Ab(ip i,:);disp(Ab); pause end end if r=1 i=i ip=input(輸入i列所選元素所處的行數(shù):ip=); Ab(i ip,:)=Ab(ip i,:);disp(Ab);

16、pause end pivot=Ab(i,i); for k=i+1:n Ab(k,i:nb)=Ab(k,i:nb)-(Ab(k,i)/pivot)*Ab(i,i:nb); end disp(Ab); pauseendx=zeros(n,1);x(n)=Ab(n,nb)/Ab(n,n);for i=n-1:-1:1 x(i)=(Ab(i,nb)-Ab(i,i+1:n)*x(i+1:n)/Ab(i,i);end數(shù)值實(shí)驗(yàn)結(jié)果及分析:取矩陣A的階數(shù):n=10,自動(dòng)選取主元: format long gauss請(qǐng)輸入矩陣A的階數(shù):n=10n = 10條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=1p = 1pp =

17、 2.0000e+003請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=0r = 0取矩陣A的階數(shù):n=10,手動(dòng)選取主元:選取絕對(duì)值最大的元素為主元: gauss請(qǐng)輸入矩陣A的階數(shù):n=10n = 10條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=2p = 2pp= 1.3903e+003請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=1r = 1ans= 1 1 1 1 1 1 1 1 1 1選取絕對(duì)值最小的元素為主元: gauss請(qǐng)輸入矩陣A的階數(shù):n=10n = 10條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=2p = 2pp = 1.3903e+003請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=1r = 1an

18、s = 1.000 1.000 1.000 1.000 1.000 1.000 0.999 1.001 0.998 1.003取矩陣A的階數(shù):n=20,手動(dòng)選取主元: 選取絕對(duì)值最大的元素為主元: gauss請(qǐng)輸入矩陣A的階數(shù):n=20條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=1p = 1pp = 2.0000e+006ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 選取絕對(duì)值最小的元素為主元: gauss請(qǐng)輸入矩陣A的階數(shù):n=20.n = 20條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=2p = 2pp = 1.1683e+006請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入

19、0:r=1r = 1ans = 1.000 1.000 1.000 1.000 1.000 1.000 1.001 0.997 1.006 0.989 1.023 0.955 1.090 0.821 1.352 0.318 1.273 0.817 1.910將M文件中的第三行:A=diag(6*ones(1,n)+diag(ones(1,n-1),1)+diag(8*ones(1,n-1),-1)改為:A=hilb(n) gauss請(qǐng)輸入矩陣A的階數(shù):n=7n = 7條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=1p = 1pp = 9.0030e+008請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=1r

20、= 1ans = 1.051 0.251 1.354 0.133 1.805 0.181 1.337 gauss請(qǐng)輸入矩陣A的階數(shù):n=7n = 7條件數(shù)對(duì)應(yīng)的范數(shù)是p-范數(shù):p=2p = 2pp = 4.7072e+008請(qǐng)輸入是否為手動(dòng),手動(dòng)輸入1,自動(dòng)輸入0:r=1r = 1ans = 0.869 1.337 0.299 1.143 0.038 1.825 0.491該問(wèn)題在主元選取與算出結(jié)果有著很大的關(guān)系,取絕對(duì)值大的元素作為主元比取絕對(duì)值小的元素作為主元時(shí)產(chǎn)生的結(jié)果比較準(zhǔn)確,即選取絕對(duì)值小的主元時(shí)結(jié)果產(chǎn)生了較大的誤差,條件數(shù)越大產(chǎn)生的誤差就越大。討論:在gauss消去法解線性方程組時(shí)

21、,主元的選擇與算法的穩(wěn)定性有密切的聯(lián)系,選取絕對(duì)值大的元素作為主元比絕對(duì)值小的元素作為主元時(shí)對(duì)結(jié)果產(chǎn)生的誤差較小。條件數(shù)越大對(duì)用gauss消去法解線性方程組時(shí),對(duì)結(jié)果產(chǎn)生的誤差就越大。實(shí)驗(yàn)總結(jié):對(duì)用gauss消去法解線性方程組時(shí),主元的選取與算法的穩(wěn)定性有密切的聯(lián)系,選取適當(dāng)?shù)闹髟欣诘贸龇€(wěn)定的算法,在算法的過(guò)程中,選取絕對(duì)值較大的主元比選取絕對(duì)值較小的主元更有利于算法的穩(wěn)定,選取絕對(duì)值最大的元素作為主元時(shí),得出的結(jié)果相對(duì)較準(zhǔn)確較穩(wěn)定。條件數(shù)越小,對(duì)用這種方法得出的結(jié)果更準(zhǔn)確。在算除法的過(guò)程中要盡量避免使用較小的數(shù)做為除數(shù),以免發(fā)生結(jié)果數(shù)量級(jí)加大,使大數(shù)吃掉小數(shù),產(chǎn)生舍入誤差。實(shí)驗(yàn)(線性代數(shù)

22、方程組的性態(tài)與條件數(shù)的估計(jì))問(wèn)題提出:理論上,線性代數(shù)方程組的攝動(dòng)滿足 矩陣的條件數(shù)確實(shí)是對(duì)矩陣病態(tài)性的刻畫(huà),但在實(shí)際應(yīng)用中直接計(jì)算它顯然不現(xiàn)實(shí),因?yàn)橛?jì)算通常要比求解方程還困難。實(shí)驗(yàn)內(nèi)容:Matlab中提供有函數(shù)“condest”可以用來(lái)估計(jì)矩陣的條件數(shù),它給出的是按1-范數(shù)的條件數(shù)。首先構(gòu)造非奇異矩陣A和右端,使得方程是可以精確求解的。再人為地引進(jìn)系數(shù)矩陣和右端的攝動(dòng),使得充分小。實(shí)驗(yàn)要求:(1)假設(shè)方程Ax=b的解為x,求解方程,以1-范數(shù),給出的計(jì)算結(jié)果。(2)選擇一系列維數(shù)遞增的矩陣(可以是隨機(jī)生成的),比較函數(shù)“condest”所需機(jī)器時(shí)間的差別.考慮若干逆是已知的矩陣,借助函數(shù)“e

23、ig”很容易給出cond2(A)的數(shù)值。將它與函數(shù)“cond(A,2)”所得到的結(jié)果進(jìn)行比較。(3)利用“condest”給出矩陣A條件數(shù)的估計(jì),針對(duì)(1)中的結(jié)果給出的理論估計(jì),并將它與(1)給出的計(jì)算結(jié)果進(jìn)行比較,分析所得結(jié)果。注意,如果給出了cond(A)和的估計(jì),馬上就可以給出的估計(jì)。(4)估計(jì)著名的Hilbert矩陣的條件數(shù)。實(shí)驗(yàn)過(guò)程:程序:n=input(please input n:n=) %輸入矩陣的階數(shù)a=fix(100*rand(n)+1 %隨機(jī)生成一個(gè)矩陣ax=ones(n,1) %假設(shè)知道方程組的解全為1b=a*x %用矩陣a和以知解得出矩陣bdata=rand(n)*

24、0.00001 %隨即生成擾動(dòng)矩陣datadatb=rand(n,1)*0.00001 %隨即生成擾動(dòng)矩陣datbA=a+dataB=b+datbxx=geshow(A,B) %解擾動(dòng)后的解x0=norm(xx-x,1)/norm(x,1) %得出的理論結(jié)果保存為:fanshu.mfunction x=geshow(A,B) %用高斯消去法解方程組m,n=size(A);nb=n+1;AB=A B;for i=1:n-1 pivot=AB(i,i); for k=i+1:n AB(k,i:nb)=AB(k,i:nb)-(AB(k,i)/pivot)*AB(i,i:nb); endendx=ze

25、ros(n,1);x(n)=AB(n,nb)/AB(n,n);for i=n-1:-1:1 x(i)=(AB(i,nb)-AB(i,i+1:n)*x(i+1:n)/AB(i,i);end保存為:geshow.mfunction cond2(A) %自定義求二階條件數(shù)B=A*A;V1,D1=eig(B);V2,D2=eig(B(-1);cond2A=sqrt(max(max(D1)*sqrt(max(max(D2)end保存為:cond2.mformat longfor n=10:10:100n=n %n為矩陣的階 A=fix(100*randn(n); %隨機(jī)生成矩陣A condestA=co

26、ndest(A) %用condest求條件數(shù) cond2(A) %用自定義的求條件數(shù) condA2=cond(A,2) %用cond求條件數(shù) pause %運(yùn)行一次暫停end保存為:shiyan52.mn=input(please input n:n=) %輸入矩陣的階數(shù)a=fix(100*rand(n)+1; %隨機(jī)生成一個(gè)矩陣ax=ones(n,1); %假設(shè)知道方程組的解全為1b=a*x; %用矩陣a和以知解得出矩陣bdata=rand(n)*0.00001; %隨即生成擾動(dòng)矩陣datadatb=rand(n,1)*0.00001; %隨即生成擾動(dòng)矩陣datbA=a+data;B=b+d

27、atb;xx=geshow(A,B); %利用第一小問(wèn)的geshow.m求出解陣x0=norm(xx-x,1)/norm(x,1) %得出的理論結(jié)果x00=cond(A)/(1-norm(inv(A)*norm(xx-x)*(norm(xx-x)/(norm(A)+norm(datb)/norm(B) %得出的估計(jì)值datx=abs(x0-x00) %求兩者之間的誤差保存為:sy5_2.mformat longfor n=4:11 n=n %n為矩陣的階數(shù)Hi=hilb(n); %生成Hilbert矩陣cond1Hi=cond(Hi,1) %求Hilbert矩陣得三種條件數(shù) cond2Hi=c

28、ond(Hi,2) condinfHi=cond(Hi,inf) pauseend數(shù)值實(shí)驗(yàn)結(jié)果及分析: fanshuplease input n:n=6n = 6a = 14 25 16 88 19 89 32 93 85 48 92 60 14 40 88 50 13 16 23 52 19 29 2 32 40 10 100 7 37 24 14 3 72 27 70 1x = 1 1 1 1 1 1b = 251 410 221 157 218 187data = 1.0e-005 * 0.910 0.050 0.590 0.574 0.947 0.783 0.250 0.022 0.9

29、02 0.911 0.781 0.561 0.463 0.328 0.693 0.190 0.121 0.222 0.876 0.561 0.011 0.695 0.487 0.009 0.170 0.614 0.672 0.600 0.397 0.254 0.621 0.565 0.985 0.390 0.207 0.866datb = 1.0e-005 * 0.138 0.275 0.162 0.217 0.621 0.203A = 1.0e+002 * 0.038 0.618 0.219 0.437 0.321 0.803 0.681 0.651 0.242 0.724 0.171 0.

30、793 0.006 0.308 0.572 0.250 0.994 0.094 0.095 0.139 0.977 0.685 0.670 0.466 0.017 0.851 1.064 0.712 0.904 0.243 0.972 0.997 0.826 0.494 0.341 0.566B = 1.0e+002 * 2.182 4.214 2.282 1.329 2.998 1.275xx = 0.720 1.555 1.555 0.073 0.021 1.794x0 = 6.5440e-007的計(jì)算結(jié)果為:6.5440e-007(2)NcondestAcond2AcondA2101.3

31、102e+00232.42132.420203.0668e+00265.96665.720306.2835e+0021.6398e+0021.6322e+002403.2470e+00261.44861.365506.9408e+00281.59481.482601.9367e+0041.4781e+0031.8527e+003703.2132e+0033.0936e+0023.8439e+002808.8658e+00286.51386.018902.7935e+0032.1705e+0022.1079e+0021001.8897e+0031.8491e+0021.8373e+002 sy5

32、_2please input n:n=8n = 8x0 = 1.5828e-006x00 = 1.2135e-005datx = 1.2553e-005給出對(duì)的估計(jì)是:1.2135e-005的理論結(jié)果是: 1.5828e-006結(jié)果相差: 1.2553e-005(4)ncond1Hicond2HicondinfHi42.9738e+0041.2786e+0042.9739e+00459.9364e+0054.4135e+0059.9336e+00562.4878e+0071.9243e+0072.4064e+00779.4700e+0084.4586e+0089.8483e+00883.274

33、2e+0101.1988e+0103.9470e+01091.6047e+0124.1016e+0111.1052e+012103.7474e+0131.2488e+0133.5642e+013111.2001e+0155.5823e+0141.8720e+015討論:線性代數(shù)方程組的性態(tài)與條件數(shù)有著很重要的關(guān)系,既矩陣的條件數(shù)是刻畫(huà)矩陣性質(zhì)的一個(gè)重要的依據(jù),條件數(shù)越大,矩陣“病態(tài)”性越嚴(yán)重,在解線性代數(shù)方程組的過(guò)程中較容易產(chǎn)生比較大的誤差,則在實(shí)際問(wèn)題的操作過(guò)程中,我們必須要減少對(duì)條件數(shù)來(lái)求解,把條件數(shù)較大的矩陣化成條件數(shù)較小的矩陣來(lái)進(jìn)行求解。實(shí)驗(yàn)總結(jié):在本次實(shí)驗(yàn)中,使我們知道了矩陣條件數(shù)對(duì)

34、線性代數(shù)方程組求解的影響,條件數(shù)越大,對(duì)最后解的影響的越大,hilbert矩陣是一個(gè)很”病態(tài)”的矩陣,他的條件數(shù)隨著階數(shù)的增加而增大,每增加一階,條件數(shù)就增大一個(gè)數(shù)量級(jí),在求解的過(guò)程中要盡量避免hilbert矩陣 非線性方程求根實(shí)驗(yàn)(迭代法、初始值與收斂性)實(shí)驗(yàn)?zāi)康模撼醪秸J(rèn)識(shí)非線性問(wèn)題的迭代法與線性問(wèn)題迭代法的差別,探討迭代法及初始值與迭代收斂性的關(guān)系。問(wèn)題提出:迭代法是求解非線性方程的基本思想方法,與線性方程的情況一樣,其構(gòu)造方法可以有多種多樣,但關(guān)鍵是怎樣才能使迭代收斂且有較快的收斂速度。實(shí)驗(yàn)內(nèi)容:考慮一個(gè)簡(jiǎn)單的代數(shù)方程 針對(duì)上述方程,可以構(gòu)造多種迭代法,如 在實(shí)軸上取初始值x0,請(qǐng)分別用

35、迭代(7.1)-(7.3)作實(shí)驗(yàn),記錄各算法的迭代過(guò)程。實(shí)驗(yàn)要求:(1)取定某個(gè)初始值,分別計(jì)算(7.1)-(7.3)迭代結(jié)果,它們的收斂性如何?重復(fù)選取不同的初始值,反復(fù)實(shí)驗(yàn)。請(qǐng)自選設(shè)計(jì)一種比較形象的記錄方式(如利用Matlab的圖形功能),分析三種迭代法的收斂性與初值選取的關(guān)系。(2)對(duì)三個(gè)迭代法中的某個(gè),取不同的初始值進(jìn)行迭代,結(jié)果如何?試分析迭代法對(duì)不同的初值是否有差異?(3)線性方程組迭代法的收斂性是不依賴初始值選取的。比較線性與非線性問(wèn)題迭代的差異,有何結(jié)論和問(wèn)題。實(shí)驗(yàn)過(guò)程:程序:clearclcs=input(請(qǐng)輸入要運(yùn)行的方程,運(yùn)行第幾個(gè)輸入幾s=);clfif s=1 %決定

36、坐標(biāo)軸的范圍和初始值a=-1.5;b=2.5; y00=0; x00=input(請(qǐng)輸入第一個(gè)函數(shù)的初值:x00=);elseif s=2a=0.1;b=6.5; y00=0; x00=input(請(qǐng)輸入第二個(gè)函數(shù)的初值:x00=);elseif s=3a=0;b=2; y00=0; x00=input(請(qǐng)輸入第三個(gè)函數(shù)的初值:x00=);endx=linspace(a,b,80);y0=x; %計(jì)算直線y=xy1=zxy7f(x,s); %計(jì)算迭代函數(shù)y=f(x)clear y;y=y0;y1;if s=1 %畫(huà)圖plot(x,y,linewidth,1)legend(y=x,y=f1) title(x(n+1)=x(n)2-1) %輸出標(biāo)題elseif s=2plot(x,y,linewidth,2)legend(y=x,y=f2) title(x(n+1)=1+1/x(n)elseif s=3plot(x,y,linewidth,3)legend(y=x,y=f3) title(x(n+1)=sqrtx(n)+1)endhold onplot(a b,0,0,k-,0 0,a b,k-)axis(a,b,a,b) %畫(huà)坐標(biāo)軸z=;for i=1:15 %畫(huà)蛛網(wǎng)圖,迭代過(guò)程為n=15次x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論