數(shù)值分析實驗一誤差的影響.doc_第1頁
數(shù)值分析實驗一誤差的影響.doc_第2頁
數(shù)值分析實驗一誤差的影響.doc_第3頁
數(shù)值分析實驗一誤差的影響.doc_第4頁
數(shù)值分析實驗一誤差的影響.doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

內(nèi)江師范學(xué)院數(shù) 值 分 析實 驗 報 告 冊編制 張莉 審定 牟廉明專業(yè): 班級: 級 班學(xué)號: 姓名: 數(shù)學(xué)與信息科學(xué)學(xué)院2013年9月說 明一、學(xué)生在做實驗之前必須要準(zhǔn)備實驗,主要包括預(yù)習(xí)與本次實驗相關(guān)的理論知識,熟練與本次實驗相關(guān)的軟件操作,收集整理相關(guān)的實驗參考資料,要求學(xué)生在做實驗時能帶上充足的參考資料;若準(zhǔn)備不充分,則學(xué)生不得參加本次實驗,不得書寫實驗報告;二、要求學(xué)生要認(rèn)真做實驗,主要是指不得遲到、早退和曠課,在做實驗過程中要嚴(yán)格遵守實驗室規(guī)章制度,認(rèn)真完成實驗內(nèi)容,極積主動地向?qū)嶒灲處熖釂柕龋?三、各個實驗按照學(xué)生水平分別設(shè)置了A、B、C、D四個等級,其中對應(yīng)的難度系數(shù)為1、0.8、0.7、0.6,也可根據(jù)實際完成情況制定相應(yīng)地的難度系數(shù),但總體保證難度排序為A級難度最大,B級次之,C級較易,D級最簡單。四、學(xué)生可以根據(jù)自己對各個實驗涉及到的知識點掌握的程度自由選取A、B、C、D等級的實驗題目。五、學(xué)生要認(rèn)真工整地書寫實驗報告,實驗報告的內(nèi)容要緊扣實驗的要求和目的,不得抄襲他人的實驗報告;四、根據(jù)實驗準(zhǔn)備、實驗態(tài)度、實驗報告的書寫、實驗報告的內(nèi)容進(jìn)行綜合評定,并給出實驗成績評定分。實驗名稱: 實驗一 誤差的影響 指導(dǎo)教師: 吳開騰 張莉 實驗時數(shù): 4 實驗設(shè)備:安裝了Matlab、C+、VF軟件的計算機(jī) 實驗日期:2013年 9月 25日 實驗地點: 第五教學(xué)樓北902 實驗?zāi)康模赫莆丈崛胝`差的概念,理解數(shù)值穩(wěn)定性。實驗準(zhǔn)備:1. 在開始本實驗之前,請回顧教科書的相關(guān)內(nèi)容;2. 需要一臺準(zhǔn)備安裝Windows XP Professional操作系統(tǒng)和裝有數(shù)學(xué)軟件的計算機(jī)。實驗內(nèi)容及要求A題 已知一元二次方程的兩個實根,試編寫當(dāng)時求兩個實根的算法程序,并用該程序計算二次方程的兩個根,使它至少具有4位有效數(shù)字。B題 舍入誤差在數(shù)值計算中是一個很重要的概念,在實際計算中,如果選用了不同的算法,由于舍入誤差的影響,將會得到截然不同的結(jié)果,因此,選取數(shù)值穩(wěn)定性的算法,在數(shù)值計算中是十分重要的。對計算定積分分別采用下面兩個遞推公式進(jìn)行計算,并比較實驗結(jié)果分析出哪個算法是穩(wěn)定,并給出具體原因。遞推公式(1);遞推公式(2)。C題 序列滿足遞推關(guān)系,若取作近似計算,問計算到時誤差有多大?這個計算過程穩(wěn)定嗎?D題 用下列兩種方法計算的近似值,問哪種方法能提供較好的近似值?(1); (2)。說明:實驗過程應(yīng)包括對問題的簡要分析、求解方法、求解步驟、程序及其必要的圖表等內(nèi)容。實驗過程:A題實驗過程一、 問題分析本文是針對一元二次方程的解的問題,在本問中的是根據(jù)判斷方程的關(guān)系來進(jìn)行求解。滿足時繼續(xù)運用一元二次方程的求根公式時會出現(xiàn)大數(shù)吃小數(shù)的情況,這樣就會有一個解就是錯誤的,但是其中有一個數(shù)是正確的。這樣在解決此問題時就需要找到那個正確的解,然后運用維達(dá)定理求得另一個解。這樣就可以避免大數(shù)吃小數(shù)的情況。二、 問題求解方法此問題中的求解方法,就是找到一個正確的解,然后運用維達(dá)定理得到另一個解。尋找正確的解的方法:根據(jù)系數(shù)的正負(fù)可以判斷出用求根公式得到的正確解。、,正確的解為、,正確的解為在用以上方法求得正確的解后,運用維達(dá)定理求解得另一個解。三、 求解流程和代碼輸入一元二次方程系數(shù)矩陣符號函數(shù)?根據(jù)得一個正確的解 得運算結(jié)束求解流程示意圖如下:四、 結(jié)果及解釋根據(jù)以上的程序輸入:1 -56 1,可以得到其誤差為0.173125402902485*e-014,可以得到其精度在有效數(shù)字為4位的范圍內(nèi),則可知此算法是有效的。其所給的方程的解用此算法得到的結(jié)果為0.0178628407335566、55.9821371592664。B題的實驗過程一、實驗中問題的重述舍入誤差在數(shù)值計算中是一個很重要的概念,在實際計算中,如果選用了不同的算法,由于舍入誤差的影響,將會得到截然不同的結(jié)果,因此,選取數(shù)值穩(wěn)定性的算法,在數(shù)值計算中是十分重要的。對定積分分別采用遞推公式和遞推公式進(jìn)行計算,并比較實驗結(jié)果分析出哪個算法是穩(wěn)定,給出原因。二、對實驗的分析2.1對軟件的選擇對于此題來說,利用Matlab10.0軟件編程計算。2.2對算法是否穩(wěn)定的分析首先,計算兩個算法的相對誤差值。通過比較相對誤差的大小,確定兩算法的優(yōu)劣。然后,通過作圖觀察其偏差的波動幅度。觀察當(dāng)n分別取1至20的整數(shù)時,誤差是否穩(wěn)定在0的附近,來判斷算法一、二的穩(wěn)定性。2.3對結(jié)果呈現(xiàn)的分析通過表格,再現(xiàn)出當(dāng)n分別取1至20的整數(shù)時,各個理論值,各個實際值一,各個實際值二,各個實際值一與理論值的偏差以及各個實際值二與理論值的偏差。通過作圖,再現(xiàn)出偏差的走勢。三、實驗求解過程(程序見附錄)首先,利用int函數(shù),求出當(dāng)n分別取1至20的整數(shù)時該定積分的理論值。然后,利用遞推公式一的算法,計算出當(dāng)n分別取1至20的整數(shù)時的實際值一。并利用plot函數(shù),繪制出結(jié)果一的散點圖。其次,利用遞推公式二的算法,計算出當(dāng)n分別取1至20的整數(shù)時的實際值二。并利用plot函數(shù),繪制出結(jié)果二的散點圖。再次,利用公式(其中i=1、2表示利用遞推公式一、二的算法),計算出利用兩個算法的相對誤差值。最后,畫出當(dāng)n分別取1至20的整數(shù)時,利用遞推公式一、二得到的結(jié)果與定積分理論值的差值的散點圖。四、實驗求解結(jié)果利用Matlab10.0軟件編程計算。于是得到以下結(jié)果:表1 求解結(jié)果表n的取值利用定積分得到理論值利用公式一得到的實際值一利用公式二得到的實際值二公式一與積分的對應(yīng)差值公式二與積分的對應(yīng)差值10.3678790.3678790.3678790020.2642410.2642410.2642410030.2072770.2072770.2072778.32667E-172.77556E-1740.1708930.1708930.170893-3.05311E-16-2.77556E-1750.1455330.1455330.1455331.4988E-152.77556E-1760.1268020.1268020.126802-8.9373E-15070.1123840.1123840.1123846.26443E-14080.1009320.1009320.100932-5.01127E-13090.0916120.0916120.0916124.51014E-120100.0838770.0838770.083877-4.51015E-110110.0773520.0773520.0773524.96116E-100120.0717730.0717730.071773-5.95339E-091.38778E-17130.0669480.0669480.0669487.73941E-080140.0627320.0627310.062732-1.08352E-060150.0590180.0590340.0590181.62528E-050160.0557190.0554590.055719-0.0002600440170.0527710.0571920.0527710.0044207516.93889E-18180.05012-0.029450.05012-0.0795735260190.0477231.559620.0477231.5118969880200.045545-30.19240.045545-30.237939770為了直觀的觀察出兩種算法的穩(wěn)定性,利用Matlab10.0軟件繪出以下結(jié)果散點圖:圖1 遞推公式一與定積分的結(jié)果散點圖圖2 遞推公式二與定積分的結(jié)果散點圖并且得到分別利用兩種遞推公式計算時,遞推公式一、二與定積分理論值的結(jié)果相對誤差值見下表2,遞推公式一、二與定積分理論值偏差的走勢圖見下圖3:表2 誤差值表利用遞推公式一計算時產(chǎn)生的相對誤差值利用遞推公式二計算時產(chǎn)生的相對誤差值 4.4078e+0054.9304e-032圖3 利用遞推公式時的誤差走勢圖五、實驗結(jié)果解釋通過表1可以看出:利用遞推公式一時,在n13時,其結(jié)果與定積分理論值的偏差就越來越大。而利用遞推公式二時,其結(jié)果與定積分理論值都幾乎相同。通過圖1、2可以明顯看出:利用遞推公式一時,在n取18、19、20時,其結(jié)果與定積分理論值的偏差很大。而利用遞推公式二時,其結(jié)果與定積分理論值都幾乎相同。通過表2可以看出:4.4078e+005(利用遞推公式一計算時產(chǎn)生的相對誤差值)4.9304e-032(利用遞推公式二計算時產(chǎn)生的相對誤差值),因此算法二更優(yōu)。通過圖3可以看出:利用遞推公式一計算時不穩(wěn)定。利用遞推公式二計算時穩(wěn)定。因此,得到第二個算法(遞推公式二)是穩(wěn)定的。C題的實驗過程一、問題分析 該問題主要考察對于一個遞推公式,將一個近似值作為其實際值代入此公式進(jìn)行近似計算。欲求得其近似計算所得的近似值與其實際值之間的誤差值,可將近似值與實際值都分別代入公式求得與,進(jìn)而運用絕對誤差公式求得其絕對誤差值。對該計算過程是否穩(wěn)定的分析,則需考慮該近似計算的絕對誤差限。用計算所得的絕對誤差值與絕對誤差限進(jìn)行比較從而得到該計算過程是否穩(wěn)定的結(jié)論。二、求解方法對于序列所滿足的遞推關(guān)系利用Matlab軟件采用迭代的方法將近似值代入求得序列,同理代入實際值迭代計算得出實際值所組成的序列。利用絕對誤差公式計算出與之間的相對誤差值。通過對該近似計算的分析確定絕對誤差限,通過絕對誤差值與絕對誤差限的比較,得出該計算過程是否穩(wěn)定的結(jié)論。在比較過程中,若絕對誤差值絕對誤差限,則該計算過程穩(wěn)定;若絕對誤差值絕對誤差限,則該計算過程不穩(wěn)定。三、求解步驟步驟1:確定絕對誤差限絕對誤差限公式:(其中:m為近似值科學(xué)表示法中的10的指數(shù);n為有效數(shù)字位數(shù))因為,且有效數(shù)字位數(shù)n=3。代入公式得:絕對誤差限=0.005。步驟二:確定絕對誤差(1)求解序列及通過Matlab中的迭代算法,編寫出該遞推關(guān)系的求解程序(見附件中的Matlab程序);將實際值作為程序中的初值代入程序進(jìn)行計算,既可得到序列及則:(2)求解序列序列及將實際值作為程序中的初值代入程序進(jìn)行計算,既可得到序列及,則:(3)求解誤差值由程序的運算結(jié)果即可輸出該該算法計算到第十項時所存在絕對誤差為:將程序所得結(jié)果整理得到以下表格:表3 結(jié)果呈現(xiàn)表函數(shù)y值實際值序列近似值序列絕對誤差y01.4142135621.4100000000.004213562y113.1421356213.100000000.042135624y2130.4213562130.00000000.421356237y31303.2135621299.0000004.213562373y413031.1356212989.0000042.13562373y5130310.3562129889.0000421.3562373y61303102.5621298889.0004213.562373y713031024.6212988889.0042135.62373y8130310245.2129888889.0421356.2373y9130310245112988888894213562.373y10130310245131298888888942135623.73四、求解結(jié)果解釋通過以上結(jié)果,確定該算法的穩(wěn)定性由步驟二所求解得到的該算法計算到第十項時所存在絕對誤差,由42135623.730.005,即絕對誤差超出誤差限,所以該算法不穩(wěn)定。D題的實驗過程一、 問題分析針對該問題中是研究題中兩種方法的誤差,運用題中方法進(jìn)行計算分析.二、 求解過程運用MATLAB編程(for循環(huán))實現(xiàn)兩種方法的計算,與其標(biāo)準(zhǔn)值進(jìn)行比較.三、 求解結(jié)果解釋計算編程得到以下數(shù)據(jù):方法誤差272.1665-0.0329由以上表格中的數(shù)據(jù)可以看出:第二種方法更接近的準(zhǔn)確值.附 錄A題的求解程序clcclear% 一元方程中的b24ac的方程的求解方法Coefficient = input(請輸入一元二次方程所對應(yīng)的系數(shù)a b cn);a = Coefficient(1);b = Coefficient(2);c = Coefficient(3);d = b2-4*a*c;if b0 e = 1;else e = -1;endif a = 0 fprintf(輸入的不是一個一元二次方程)else if d0 fprintf(輸入的方程沒有實數(shù)解) else Solu1(1) = (-b+e*(sqrt(b*b-4*a*c)/(2*a); Solu1(2) = -b/a-Solu1(1); Solu1 = sort(Solu1); %將求解的結(jié)果進(jìn)行排序 syms x y = a*x*x+b*x+c; format long xx = solve(y,x); xx = double(xx); xx = sort(xx); %將求解的結(jié)果進(jìn)行排序 cha = abs(Solu1-xx); %誤差的求解 fprintf(求解的誤差為n) %誤差的輸出 cha endend B題的求解程序clcclearsyms x; %定義符號變量xy0 = zeros(1,20);y1 = zeros(1,20);y2 = zeros(1,20);y10 = zeros(1,20);y20 = zeros(1,20); %創(chuàng)建兩個1行20列的零向量for i = 1:20 y0(i) = int(xi*exp(x-1),0,1); %定積分函數(shù)的理論值 i = i+1;endy1(1) = y0(1);for i = 2:20 y1(i) = 1-i*y1(i-1); %利用遞推公式一得到的實際值一 i = i+1;endy2(20) = y0(20);for j = 1:19 k = 21-j; y2(k-1) = (1-y2(k)/k; %利用遞推公式二得到的實際值二 j = j+1;endy10 = y1-y0;y20 = y2-y0;for i = 1:20; wucha10 = sum( y1(i)-y0(i)/y0(i)+eps)2; %利用遞推公式一計算時產(chǎn)生的相對誤差 wucha20 = sum( y2(i)-y0(i)/y0(i)+eps)2; %利用遞推公式二計算時產(chǎn)生的相對誤差endfigure(1) %圖象一n = 1:20;xlabel(n的取值)plot(n,y0,-r);hold onplot(n,y1,*b);title(利用遞推公式一計算與定積分值的結(jié)果散點圖)figure (2) %圖象二plot(n,y0,-r);hold onplot(n,y2,*

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論