![長沙航空職業(yè)技術(shù)學(xué)院軟件技術(shù)重點專業(yè)建設(shè)方案_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/2d713df0-b99c-4550-b696-95e37ddcf850/2d713df0-b99c-4550-b696-95e37ddcf8501.gif)
![長沙航空職業(yè)技術(shù)學(xué)院軟件技術(shù)重點專業(yè)建設(shè)方案_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/2d713df0-b99c-4550-b696-95e37ddcf850/2d713df0-b99c-4550-b696-95e37ddcf8502.gif)
![長沙航空職業(yè)技術(shù)學(xué)院軟件技術(shù)重點專業(yè)建設(shè)方案_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/2d713df0-b99c-4550-b696-95e37ddcf850/2d713df0-b99c-4550-b696-95e37ddcf8503.gif)
![長沙航空職業(yè)技術(shù)學(xué)院軟件技術(shù)重點專業(yè)建設(shè)方案_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/2d713df0-b99c-4550-b696-95e37ddcf850/2d713df0-b99c-4550-b696-95e37ddcf8504.gif)
![長沙航空職業(yè)技術(shù)學(xué)院軟件技術(shù)重點專業(yè)建設(shè)方案_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/2d713df0-b99c-4550-b696-95e37ddcf850/2d713df0-b99c-4550-b696-95e37ddcf8505.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于基于c/c+的大地電磁數(shù)值模擬的大地電磁數(shù)值模擬長沙航空職業(yè)技術(shù)學(xué)院計算機(jī)與信息工程系長沙航空職業(yè)技術(shù)學(xué)院計算機(jī)與信息工程系2報告提綱一、數(shù)值計算二、c/c+與數(shù)值計算三、大地電磁數(shù)值模擬四、幾點體會3隨著科學(xué)技術(shù)的飛速發(fā)展,科學(xué)計算愈來愈顯示出其重要性。科學(xué)計算的應(yīng)用之廣已遍及各行各業(yè),例如:氣象資料的分析圖像,飛機(jī)、汽車及輪船的外形設(shè)計,高科技研究等都離不開科學(xué)計算。一、數(shù)值計算一、數(shù)值計算4數(shù)值分析或數(shù)值計算方法主要是研究如何運(yùn)用計算機(jī)去獲得數(shù)學(xué)問題的數(shù)值解的理論和方法.對那些在經(jīng)典數(shù)學(xué)中,用解析方法在理論上已作出解的存在,但要求出他的解析解又十分困難,甚至是不可能的這類數(shù)學(xué)問題,數(shù)
2、值解法就顯得不可缺少,同時有十分有效.一、數(shù)值計算一、數(shù)值計算5計算機(jī)解決科學(xué)計算問題時經(jīng)歷的幾個過程實際問題數(shù)學(xué)模型數(shù)值計算方法程序設(shè)計上機(jī)運(yùn)行求出解實際問題數(shù)學(xué)模型:由實際問題應(yīng)用科學(xué)知識和數(shù)學(xué)理論建立數(shù)學(xué)模型的過程,是應(yīng)用數(shù)學(xué)的任務(wù)。一、數(shù)值計算一、數(shù)值計算6數(shù)值計算方法程序設(shè)計計算結(jié)果:根據(jù)數(shù)學(xué)模型提出求解的數(shù)值計算方法,直到編出程序上機(jī)算出解,是計算數(shù)學(xué)的任務(wù)。數(shù)值計算方法重點研究:求解的數(shù)值方法及與此有關(guān)的理論包括:方法的收斂性,穩(wěn)定性,誤差分析,計算時間的最?。ㄒ簿褪怯嬎阗M用),占用內(nèi)存空間少.一、數(shù)值計算一、數(shù)值計算7有的方法在理論上雖不夠嚴(yán)格,但通過實際計算,對比分析等手段,
3、被證明是行之有效的方法,也可以采用。因此,數(shù)值分析既有純數(shù)學(xué)高度抽象性與嚴(yán)密科學(xué)性的特點,又有應(yīng)用的廣泛性與實驗的高度技術(shù)性特點,是一門與使用計算機(jī)密切結(jié)合的實用性很強(qiáng)的數(shù)學(xué)課程。一、數(shù)值計算一、數(shù)值計算8數(shù)值數(shù)值計算方法的定義數(shù)值數(shù)值計算方法是研究常見的基本數(shù)學(xué)問題的數(shù)計算方法是研究常見的基本數(shù)學(xué)問題的數(shù)值解法及其相關(guān)理論的一門數(shù)學(xué)分支,它包含了數(shù)值解法及其相關(guān)理論的一門數(shù)學(xué)分支,它包含了數(shù)值代數(shù)、數(shù)值微分與積分,常微分方程數(shù)值解等內(nèi)值代數(shù)、數(shù)值微分與積分,常微分方程數(shù)值解等內(nèi)容。容。一、數(shù)值計算一、數(shù)值計算9誤差來源 1、模型誤差、模型誤差 2、觀測誤差、觀測誤差 3、截斷誤差、截斷誤差
4、4、舍入誤差、舍入誤差一、數(shù)值計算一、數(shù)值計算10模型誤差模型誤差用數(shù)學(xué)模型來描述具體的物理現(xiàn)象時,往往要用數(shù)學(xué)模型來描述具體的物理現(xiàn)象時,往往要忽略許多次要因素,把模型忽略許多次要因素,把模型“簡單化簡單化”、“理想理想化化”,因此模型本身就包含有誤差,這種誤差稱為,因此模型本身就包含有誤差,這種誤差稱為模型誤差。模型誤差。一、數(shù)值計算一、數(shù)值計算11模型誤差例題模型誤差例題例我們用例我們用 ( 為重力加速度)為重力加速度)來描述物體自由下落時距離與時間的關(guān)系設(shè)自由來描述物體自由下落時距離與時間的關(guān)系設(shè)自由落體在時間落體在時間 時的實際下落距離為時的實際下落距離為 ,則,則 就是就是 “ “
5、模型誤差模型誤差”。ts21( )2s tgtgt( )tss t一、數(shù)值計算一、數(shù)值計算12觀測誤差觀測誤差在數(shù)學(xué)模型中總要包含一些觀測數(shù)據(jù),這些觀在數(shù)學(xué)模型中總要包含一些觀測數(shù)據(jù),這些觀測數(shù)據(jù)受工具、方法、觀測者的主觀因素、不可預(yù)測數(shù)據(jù)受工具、方法、觀測者的主觀因素、不可預(yù)料的隨機(jī)干擾等影響必然帶入誤差,這種誤差稱為料的隨機(jī)干擾等影響必然帶入誤差,這種誤差稱為觀測誤差。觀測誤差。一、數(shù)值計算一、數(shù)值計算13觀測誤差例題觀測誤差例題例例2 設(shè)一根鋁棒在溫度設(shè)一根鋁棒在溫度 時的實際長度時的實際長度為為 ,在,在 時的實際長度為時的實際長度為 ,用,用 來表示鋁棒在溫度為來表示鋁棒在溫度為 時
6、的長度計算值,并建時的長度計算值,并建立數(shù)學(xué)模型:立數(shù)學(xué)模型: ,其中其中 是實驗觀測到的常數(shù):是實驗觀測到的常數(shù):則稱則稱 為為“模型誤差模型誤差”, 是是 的的“觀測誤差觀測誤差”。tlt0t 0ltlt0(1)tllt5(2.38 0.01) 10cttll50.01 10一、數(shù)值計算一、數(shù)值計算14截斷誤差截斷誤差在解決實際問題時,數(shù)學(xué)模型常常難于直接求在解決實際問題時,數(shù)學(xué)模型常常難于直接求解,往往要近似代替,其近似解與精確解之間的誤解,往往要近似代替,其近似解與精確解之間的誤差稱為截斷誤差。差稱為截斷誤差。一、數(shù)值計算一、數(shù)值計算15截斷誤差例題截斷誤差例題例例3 求求 時,可將時
7、,可將 展開為級數(shù)形式:展開為級數(shù)形式:在實際計算時,我們只取前面有限項(例如在實際計算時,我們只取前面有限項(例如 項)項)計算部分和計算部分和 作為作為 的值必然產(chǎn)生誤差,其誤差的值必然產(chǎn)生誤差,其誤差為:為:這個誤差就是這個誤差就是“截斷誤差截斷誤差”。212!nxxxexnn2()12 !nnxxsxxn1()(1)!nnerxxn0 x在 與 之間21.2nxxxexn xexexe( )nsx一、數(shù)值計算一、數(shù)值計算16舍入誤差舍入誤差在計算時總是只能取有限位有效數(shù)字進(jìn)行計算在計算時總是只能取有限位有效數(shù)字進(jìn)行計算而引起,初始參數(shù)與中間結(jié)果都必須進(jìn)行四舍五入,而引起,初始參數(shù)與中間
8、結(jié)果都必須進(jìn)行四舍五入,這個誤差稱為舍入誤差。這個誤差稱為舍入誤差。一、數(shù)值計算一、數(shù)值計算17舍入誤差例題舍入誤差例題例例4 4, , , , 等,在計算機(jī)上運(yùn)等,在計算機(jī)上運(yùn)算時只能用有限位小數(shù),如果取小數(shù)點后四位數(shù)字,算時只能用有限位小數(shù),如果取小數(shù)點后四位數(shù)字,則則 就是就是“舍入誤差舍入誤差 ” ”3.14159262 1.4142135610.3333313.14160.000074l21.414220.000013l 310.33330.0000333l 一、數(shù)值計算一、數(shù)值計算18誤差來源分析誤差來源分析總之,誤差一般來自模型誤差、觀測誤差、截斷誤差、總之,誤差一般來自模型誤差
9、、觀測誤差、截斷誤差、舍入誤差。在計算方法課程中,不分析模型誤差;觀測誤差舍入誤差。在計算方法課程中,不分析模型誤差;觀測誤差作為初始舍入誤差;截斷誤差是主要討論對象,是計算中誤作為初始舍入誤差;截斷誤差是主要討論對象,是計算中誤差的主要部分。在各種算法中,通過數(shù)學(xué)方法可推導(dǎo)出截斷差的主要部分。在各種算法中,通過數(shù)學(xué)方法可推導(dǎo)出截斷誤差限的公式;舍入誤差產(chǎn)生往往有很大的隨機(jī)性,討論比誤差限的公式;舍入誤差產(chǎn)生往往有很大的隨機(jī)性,討論比較困難,在問題本身呈現(xiàn)病態(tài)或不穩(wěn)定時,它可能成為計算較困難,在問題本身呈現(xiàn)病態(tài)或不穩(wěn)定時,它可能成為計算中誤差的主要部分。中誤差的主要部分。誤差分析是一門專門的學(xué)
10、科,經(jīng)過訓(xùn)練的計算工作者,誤差分析是一門專門的學(xué)科,經(jīng)過訓(xùn)練的計算工作者,當(dāng)發(fā)現(xiàn)計算結(jié)果與實際不符時,應(yīng)當(dāng)能找出誤差的來源,并當(dāng)發(fā)現(xiàn)計算結(jié)果與實際不符時,應(yīng)當(dāng)能找出誤差的來源,并采取相應(yīng)的措施加以改進(jìn),甚至對模型進(jìn)行修改。采取相應(yīng)的措施加以改進(jìn),甚至對模型進(jìn)行修改。一、數(shù)值計算一、數(shù)值計算19誤差理論誤差理論誤差、誤差限、有效數(shù)字誤差、誤差限、有效數(shù)字相對誤差及與有效數(shù)字的聯(lián)系相對誤差及與有效數(shù)字的聯(lián)系算術(shù)運(yùn)算的誤差和相對誤差算術(shù)運(yùn)算的誤差和相對誤差一、數(shù)值計算一、數(shù)值計算20誤差的概念誤差的概念定義定義1.1 設(shè)設(shè) 為準(zhǔn)確值,為準(zhǔn)確值, 為為 的的一個近似值,稱一個近似值,稱 為為 近似值的
11、絕近似值的絕對誤差,簡稱誤差。對誤差,簡稱誤差。誤差是有量綱的量,量綱同誤差是有量綱的量,量綱同 ,它可正可,它可正可負(fù),當(dāng)絕對誤差為正時,近似值偏大,叫強(qiáng)近似值;負(fù),當(dāng)絕對誤差為正時,近似值偏大,叫強(qiáng)近似值;當(dāng)絕對誤差為負(fù)時,近似值偏小,則稱弱近似值。當(dāng)絕對誤差為負(fù)時,近似值偏小,則稱弱近似值。*exx*x*xxxx一、數(shù)值計算一、數(shù)值計算21絕對誤差限絕對誤差限通常我們并不知道準(zhǔn)確值通常我們并不知道準(zhǔn)確值 ,也不能算出,也不能算出誤差的準(zhǔn)確值,但能根據(jù)測量工具或計算情況估計誤差的準(zhǔn)確值,但能根據(jù)測量工具或計算情況估計出誤差的絕對值的上限,這個上限稱為近似值出誤差的絕對值的上限,這個上限稱為
12、近似值 的誤差限。記為的誤差限。記為 。 即即 在工程中常記為:在工程中常記為: *xxe*xxx*x一、數(shù)值計算一、數(shù)值計算22絕對誤差限例題例例5 我們用一把毫米刻度的米尺來測量桌子的我們用一把毫米刻度的米尺來測量桌子的長度長度 ,讀出的長度為,讀出的長度為 , 是是 的近似值,由于米尺的精度知道,的近似值,由于米尺的精度知道,它的誤差限為它的誤差限為0.5mm,則有,則有*12350.51234.51235.51234.5,1235.512350.5xxxmmxxxmm即這表明 在區(qū)間內(nèi),寫成*1235xmm*xxx一、數(shù)值計算一、數(shù)值計算23相對誤差相對誤差定義定義1.2 誤差與精確值
13、的比值誤差與精確值的比值 稱作近似值稱作近似值 的相對誤差,記作。相對的相對誤差,記作。相對誤差是無量綱的量,常用百分比表示,它可正可負(fù)。誤差是無量綱的量,常用百分比表示,它可正可負(fù)。*exxxx*xre一、數(shù)值計算一、數(shù)值計算24相對誤差限相對誤差限相對誤差也不能準(zhǔn)確計算,而是用相對誤差限相對誤差也不能準(zhǔn)確計算,而是用相對誤差限來估計的:來估計的: 就是相對誤差限當(dāng)就是相對誤差限當(dāng) 較小時,較小時,可以忽略不計,所以以后我們就用可以忽略不計,所以以后我們就用 表示相表示相對誤差限。對誤差限。*rrxxexxrr*x一、數(shù)值計算一、數(shù)值計算25相對誤差限例題相對誤差限例題稱兩堆蘋果,第一堆稱兩
14、堆蘋果,第一堆 ,誤差為,誤差為 ;第二堆為第二堆為 ,誤差為,誤差為 ,雖然后者的誤差限,雖然后者的誤差限比前者大,但不能簡單地認(rèn)為前者精確,還必須注比前者大,但不能簡單地認(rèn)為前者精確,還必須注意到該數(shù)本身的大小。意到該數(shù)本身的大小。 相對誤差分別為:相對誤差分別為:顯然,稱第一堆蘋果的相對誤差大。顯然,稱第一堆蘋果的相對誤差大。100kg10kg2kg1kg110%10re 22%100re 一、數(shù)值計算一、數(shù)值計算26有效數(shù)字位數(shù)有效數(shù)字位數(shù)定義定義1.3 如果近似值如果近似值 的絕對誤差限的絕對誤差限 是某一是某一位數(shù)字的半個單位,我們就說位數(shù)字的半個單位,我們就說 準(zhǔn)確到該位,從這準(zhǔn)
15、確到該位,從這一位起直到前面的第一位非零數(shù)字為止的所有數(shù)字一位起直到前面的第一位非零數(shù)字為止的所有數(shù)字稱為稱為 的有效數(shù)字。的有效數(shù)字。*x*x*x一、數(shù)值計算一、數(shù)值計算27有效數(shù)字位數(shù)(續(xù))413.1416102513.14159102則說則說x* 近似表示近似表示 x 準(zhǔn)確到小數(shù)后第準(zhǔn)確到小數(shù)后第n位,并從這第位,并從這第n位起位起直到最左邊的非零數(shù)字之間的一切數(shù)字都稱為直到最左邊的非零數(shù)字之間的一切數(shù)字都稱為,并把有效數(shù)字的位數(shù)稱為并把有效數(shù)字的位數(shù)稱為。定義:定義:如果如果*1102nxx(1.7)由上述定義由上述定義3.140.0015926有效數(shù)位為有效數(shù)位為3位位3.14160
16、.0000074 有效數(shù)位為有效數(shù)位為5位位3.14150.0000926有效數(shù)位為有效數(shù)位為4位位一、數(shù)值計算一、數(shù)值計算28有效數(shù)字位數(shù)例題0.034039*0.0342*0.03403*0.034044xxxx例:設(shè),那么取2位,有效數(shù)字位數(shù)為 位;取3位,有效數(shù)字位數(shù)為 位;取4位,有效數(shù)字位數(shù)為 位;一、數(shù)值計算一、數(shù)值計算29重要定理、結(jié)論重要定理、結(jié)論定理定理1.1 設(shè)近似值設(shè)近似值 , 有有n位有效數(shù)字,則其相對誤差限為位有效數(shù)字,則其相對誤差限為 定理定理1.2 設(shè)近似值設(shè)近似值 的相對的相對誤差限為:誤差限為: , , 則它有則它有n位有效數(shù)字。位有效數(shù)字。12*0.10m
17、nxa aa 10a 111102nra12*0.10mnxa aa111102(1)na 10a 30 計算物理的物質(zhì)基礎(chǔ)是計算機(jī);計算物理的關(guān)鍵技術(shù)是“計算方法”和“程序設(shè)計”; 計算物理發(fā)展的原始動力是美國核武器研制的刺激。二、二、c/c+與數(shù)值計算與數(shù)值計算31例1 編寫下面連分式的計算程序: )()( )()(1121100nnnnxfxxxfxxxfxxxfxxxfxs 75.0 , 10, 1 ,01.0 ,112xiixxxfi數(shù)值計算數(shù)值計算32算法分析:我們知道程序運(yùn)行時用賦值語句作每一步計算都要求表達(dá)式右端中每個變量都有確定的值,且能寫出其表達(dá)式,從式可以看出只能從最下層
18、逐一計算。令1nnnnxfxxxfs則 ,02,-n1,-ni ,s 1i111iiinnnnsxxxfsxxxfs數(shù)值計算數(shù)值計算33數(shù)值計算程序如下:程序如下:#define n 10#define n 10float f(float x)float f(float x) float y; float y; y=1/(1+x y=1/(1+x* *x);x); return y; return y; main( )main( ) int i; int i; float h=0.1, s, x0, float h=0.1, s, x0, x1,x2;x1,x2; float xn+1; fl
19、oat xn+1; for(i=0;i=n;i+) for(i=0;i=0;i-) for(i=n-2;i=0;i-) s = f ( x i ) + ( x 0 - s = f ( x i ) + ( x 0 -xi)/s;xi)/s; printf( the result is: printf( the result is: %fn,s);%fn,s); 程序運(yùn)行結(jié)果為:程序運(yùn)行結(jié)果為: please input x: please input x: 0.750.75the result is: 1.514020the result is: 1.51402034數(shù)值計算例2 用復(fù)合梯形積分
20、公式計算的值。 算法及分析:梯形積分公式為: 1 2 1 0 2/ *2/*111111niihaxnabhxfbfafhxfhhbfafdxxfsiniiniiba,35數(shù)值計算 #define pi 3.1415926float f(float x) float y; y=1/(1+x*x); return y;main( ) int i, j, n; float x,h,a,b,s; b=pi; a=-pi; p r i n t f ( p l e a s e input n:); scanf( %d ,&n); h=(b-a)/n; s=(f(a)+f(b)/2; for( i
21、=1;in;i+) x=a+i*h; s=s+f(x); s=s*h; printf(the value is :%f,s);程序運(yùn)行結(jié)果為: please input n: 100 the value is : 2.525219 36數(shù)值計算例3 若矩陣a是m行n列的實矩陣,矩陣b是n行p列的實矩陣,求c=a*b。 算法及分析:矩陣乘積的計算公式為: p21jm21i 1,;,nkkjikijbac37數(shù)值計算#define m 4#define m 4 #define n 3 #define n 3 #define p 2 #define p 2 main ( ) main ( ) int
22、 i,j,k; int i,j,k; int int am+1n+1,bn+1p+1,cm+1p+am+1n+1,bn+1p+1,cm+1p+1;1; printf(please input printf(please input matrix a:n);matrix a:n); for(i=1;i=m;i+) for(i=1;i=m;i+) for(j=1;j=n;j+) for(j=1;j=n;j+) scanf scanf (%d,&aij);(%d,&aij); printf(please input printf(please input matrix b:n);ma
23、trix b:n); for(i=1;i=n;i+) for(i=1;i=n;i+) for(j=1;j=p;j+) for(j=1;j=p;j+) scanf scanf (%d,&bij);(%d,&bij); for(i=1;i=m;i+)for(i=1;i=m;i+) for(j=1;j=p;j+) for(j=1;j=p;j+) cij=0; cij=0; for(k=1;k=n;k+) for(k=1;k=n;k+) cij=cij+aikcij=cij+aik* *bkj;bkj; printf(the value of printf(the value of m
24、atrix c:n);matrix c:n); for(i=1;i=m;i+) for(i=1;i=m;i+) for(j=1;j=p;j+)for(j=1;j=p;j+) p r i n t f ( % d p r i n t f ( % d ,cij);,cij); printf( n); printf( n); 38數(shù)值計算運(yùn)行結(jié)果為: please input matrix a: 3 4 3 2 6 1 1 2 3 4 5 6 please input matrix b: 3 2 1 2 4 1the value of matrix c:25 1716 1717 941 2439數(shù)值計
25、算例4 用二分法求 f(x)=x5+x4+x3-1=0的根,x0,1。算法及分析:) 1()0(00bbaa2/000bac1 . 36 ) ,)( 2/)0( )0( *)0( )0( *21111111111111iiiiiiiiiiiiiiiiiiiiabcfbaccfbfbcfbfcbcfafacfafca令 使用二分法求解f(x)=0的前提是f(a)f(b)0,xa,b內(nèi)只有一個根。則二分法的計算公式為:40數(shù)值計算# include float f(float x) float y; y=pow(x,5)+pow(x,4)+pow(x,3)-1; return(y); main(
26、) float c,a,b,ep1,ep2; printf(please input a,b,ep1,ep2:); scanf(%f%f%f%f,&a,&b,&ep1,&ep2); c=(a+b)/2;w h i l e ( ( b -aep2)&fabs(f(c)ep1) if (f(a)*f(c)0) a=c; else b=c; c=(b+a)/2; printf (the solve is: %f,c);運(yùn)行結(jié)果為: p l e a s e i n p u t a,b,ep1,ep2: 0 1 0.0001 0.0001the solve is:
27、 0.00003141數(shù)值計算例5 用二分法求任意函數(shù)的用二分法求任意函數(shù)的 f(x)f(x)的根的根#include #include #define jmax 40 #define jmax 40 允許迭代的最大次數(shù)允許迭代的最大次數(shù)float rtbis(float (float rtbis(float (* *func)(float), float x1, float func)(float), float x1, float x2, float xacc)x2, float xacc) 已知位于已知位于x1x1和和x2x2之間的函數(shù)之間的函數(shù)funcfunc,用二分法求其根。,用二分
28、法求其根。在精度達(dá)到在精度達(dá)到xaccxacc之前,這個根將被不斷修正,并最終以之前,這個根將被不斷修正,并最終以rtbrtb返回返回int j;int j;float dx, f, fmid, xmid, rtb;float dx, f, fmid, xmid, rtb;f=(f=(* *func)(x1);func)(x1);fmid=(fmid=(* *func)(x2);func)(x2);42數(shù)值計算if (fif (f* *fmid = 0.0) printf(root must be fmid = 0.0) printf(root must be bracketed for bi
29、section in rtbis);bracketed for bisection in rtbis);rtb = f 0.0 ? (dx=x2-x1,x1) : (dx=x1-x2,x2);rtb = f 0.0 ? (dx=x2-x1,x1) : (dx=x1-x2,x2);for (j=1;j=jmax;j+) for (j=1;j=jmax;j+) fmid=(fmid=(* *func)(xmid=rtb+(dx func)(xmid=rtb+(dx * *= 0.5);= 0.5);if (fmid = 0.0) rtb=xmid;if (fmid = 0.0) rtb=xmid;
30、if (fabs(dx) xacc | fmid = 0.0) if (fabs(dx) =0;i-) si=si+1*x+ai;45數(shù)值計算#define n 5main( ) int i; float an+1, sn+1, x; printf(請輸入多項式的各個系數(shù):n); for(i=0;i=0;i-) si=si+1*x+ai;p r i n t f ( f ( % f ) = %fn,x,s0);46數(shù)值計算假設(shè)計算多項式:假設(shè)計算多項式: 5 . 3222 . 1245xxxxxf當(dāng)x=2的值。程序運(yùn)行結(jié)果為: 請輸入多項式的系數(shù): a0=3.5 a1=2 a2=1 a3=0 a
31、4=2 a5=1.2 請輸入x的值:2 f(2.00000)=81.90000247數(shù)值計算 21i 2101110iiiiixxxxxxx;,0 x例例7 用迭代法求一個數(shù)用迭代法求一個數(shù)x(0)的平方根。)的平方根。求平方根的迭代公式可以為:求平方根的迭代公式可以為: 其中,是為x指定的初始平方根,是為所求平方根指定的精度。48數(shù)值計算#include float def_sqrt( float x)float x0,x1;x0=x/2;x1=(x0+x/x0)/2;while(fabs(x1-x0)1e-6) /*迭代過程,精度為*/x0=x1;x1=(x0+x/x0)/2;return
32、 x1;main( )float x;printf( please input x: );scanf(%f,&x);if(x0) p r i n t f ( d e f _ s q r t : %fn,def_sqrt(x); p r i n t f ( s q r t : % f n ,sqrt(x);else printf(the input is error!n);程序運(yùn)行結(jié)果:please input x: 2 def_sqrt: 1.414214sqrt: 1.41421449 在數(shù)值計算時應(yīng)注意的幾個問題在數(shù)值計算時應(yīng)注意的幾個問題順序:基本運(yùn)算順序順序:基本運(yùn)算順序一、減
33、少運(yùn)算次數(shù)一、減少運(yùn)算次數(shù) 不僅能提高計算精度,而且能減少誤差的積累不僅能提高計算精度,而且能減少誤差的積累1、對同一種算法(計算方式),要選用計算量少的運(yùn)算次序、對同一種算法(計算方式),要選用計算量少的運(yùn)算次序例如例如),(dcbaadacab dcxbxax 23精度(數(shù)值穩(wěn)定性)精度(數(shù)值穩(wěn)定性). .運(yùn)算方案能否控制誤差的傳播和積累以保證計算結(jié)果有足夠的運(yùn)算方案能否控制誤差的傳播和積累以保證計算結(jié)果有足夠的一般標(biāo)準(zhǔn)一般標(biāo)準(zhǔn)運(yùn)算次數(shù)的多少(計算效率);運(yùn)算次數(shù)的多少(計算效率);運(yùn)算過程是否規(guī)律(易編程);運(yùn)算過程是否規(guī)律(易編程);需要記錄的中間結(jié)果的多少(儲存量);需要記錄的中間結(jié)
34、果的多少(儲存量); ,)(dxcxbax 精度(數(shù)值穩(wěn)定性)精度(數(shù)值穩(wěn)定性). .運(yùn)算方案能否控制誤差的傳播和積累以保證計算結(jié)果有足夠的運(yùn)算方案能否控制誤差的傳播和積累以保證計算結(jié)果有足夠的運(yùn)算次數(shù)的多少(計算效率);運(yùn)算次數(shù)的多少(計算效率);50 例例1的的值值。計計算算多多項項式式0111)(axaxaxaxpnnnnn 次次乘乘法法,需需作作計計算算nxann;2)1(12)1()( nnnnxpn的的值值需需作作乘乘法法次次數(shù)數(shù):計計算算.n加加法法次次數(shù)數(shù):(b) 利用秦九韶算法:利用秦九韶算法:(a) 直接計算每一項再求和:直接計算每一項再求和: ).(,;)(1 , 2 ,
35、 1,11nnkkkknnnaxssasxp的的遞遞推推公公式式:計計算算 解:解:),(0 xpsn 則則次次加加法法。次次乘乘法法的的值值只只需需作作計計算算nnxpn)(011)()(aaaxaxxxxpnnn 例例2階階單單位位方方陣陣。試試求求是是維維向向量量均均為為和和已已知知ninxuu,21 解:解:,)(2)2(22221uxuxxuuiytt .)(2)2(1111111uyuyyuuiytt (a) 作矩陣和向量的乘法:作矩陣和向量的乘法:略略.(b) 作向量的內(nèi)積和加法:作向量的內(nèi)積和加法:計算次數(shù)少計算次數(shù)少過程規(guī)律過程規(guī)律xuuiuuiytt)2)(2(2211 乘
36、除法乘除法: kn乘除法乘除法: kn2512、對于不同的算法,要注意收斂速度,講效率、對于不同的算法,要注意收斂速度,講效率 例例3 計算計算 ln2 的近似值,要求誤差小于的近似值,要求誤差小于10 . 解:解:,1)1(211sln211nnxn ,則得,則得取取,10112ln7 nsn誤差誤差. 1107 n 計算量太大;計算量太大; 各項的舍入誤差會損失和的有效數(shù)字各項的舍入誤差會損失和的有效數(shù)字 (b) 用級數(shù)用級數(shù) 來計算來計算)1()1231(211ln22 xmxxxxxm,)31(121)31(51)31(31132ln231242 mmx,則則取取,)31(171)31
37、(51)31(31132ln216428 s用前用前 9 項(即取項(即取 m = 8)計算就能達(dá)到精度要求)計算就能達(dá)到精度要求:.102ln78 s即即舍入誤差舍入誤差(a) 用級數(shù)用級數(shù) 來計算來計算)1 , 1() 1(321)ln(1132 xnxxxxnn52結(jié)果不可靠,計算失敗結(jié)果不可靠,計算失敗否則,則稱這個算法是否則,則稱這個算法是數(shù)值不穩(wěn)定的數(shù)值不穩(wěn)定的。二、二、 數(shù)值計算中要構(gòu)造和使用數(shù)值計算中要構(gòu)造和使用數(shù)值穩(wěn)定數(shù)值穩(wěn)定的計算方法的計算方法算法是數(shù)值穩(wěn)定的算法是數(shù)值穩(wěn)定的 計算結(jié)果受計算過程中舍入誤差影響較小時。計算結(jié)果受計算過程中舍入誤差影響較小時。1、注意、注意計算
38、機(jī)數(shù)系計算機(jī)數(shù)系運(yùn)算特點運(yùn)算特點有理數(shù)的有限數(shù)集,即浮點集有理數(shù)的有限數(shù)集,即浮點集例例4 討論在計算機(jī)數(shù)系中分別用公式討論在計算機(jī)數(shù)系中分別用公式同同。中中點點時時所所得得結(jié)結(jié)果果是是否否相相求求和和,2221baabambam 解:解:無誤差時,必相等;無誤差時,必相等;有舍入誤差時,可能不相等,有舍入誤差時,可能不相等,算算時時,結(jié)結(jié)果果如如下下:用用四四位位有有效效數(shù)數(shù)字字進(jìn)進(jìn)行行計計若若,355. 8,243. 5 ba a a b b m m m m 準(zhǔn)確值準(zhǔn)確值 5.243 5.243 8.3558.355 6.8001.556 6.7991.557 6.7991.5566.79
39、9-1.55653,2,1 ,010),(21 nnnxaxxa,由由公公式式為為已已知知數(shù)數(shù),對對任任意意數(shù)數(shù)設(shè)設(shè) 解解:)(211axaxnn 由由遞遞推推公公式式得得).()21(011axaxnn 在實數(shù)集上,在實數(shù)集上,;0axaxn嚴(yán)嚴(yán)格格單單調(diào)調(diào)趨趨于于只只要要 取取4位有效數(shù)字近似計算位有效數(shù)字近似計算:,680. 5,680. 5,686. 5:nx非嚴(yán)格單調(diào)序列非嚴(yán)格單調(diào)序列且極限也不等于且極限也不等于a4位有效數(shù)字舍入運(yùn)算:位有效數(shù)字舍入運(yùn)算:1234+0.4+0.3+0.2+0.1=12340.4+0.3+0.2+0.1+1234=1235若出現(xiàn)若出現(xiàn)“溢出溢出”應(yīng)立即
40、中應(yīng)立即中斷斷應(yīng)避免出現(xiàn)應(yīng)避免出現(xiàn)“大數(shù)吃小數(shù)大數(shù)吃小數(shù)” 事先預(yù)防事先預(yù)防 事后解決事后解決 例例7.)(2122ba 求求解解:,則則設(shè)設(shè),maxbac .)()()(21222122 cbcacba可防溢出可防溢出精確運(yùn)算精確運(yùn)算:例例6686. 5,678. 50 xa如如取取試試研研究究此此序序列列的的極極限限。所所得得的的序序列列為為.nx 例例5542、防止兩接近的數(shù)相減、防止兩接近的數(shù)相減.01182 xx例例8 求下列方程的根求下列方程的根解解:.809,80921 xx用用 8 位浮點數(shù)位浮點數(shù) (有效數(shù)字有效數(shù)字)計算計算1089442719. 080 .1055728091. 0,1017944272. 01221 xx用用 4 位浮數(shù)點位浮數(shù)點(有效數(shù)字有效數(shù)字)計算計算108944.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《集團(tuán)組織架構(gòu)方案》課件
- 《中醫(yī)外科學(xué)》課件
- 南京房地產(chǎn)抵押貸款2025年度抵押物處置合同
- 《黃金基礎(chǔ)知識》課件
- 《超聲診斷婦科》課件
- DB37-T 4389-2021 地?zé)豳Y源勘查與開發(fā)利用規(guī)劃編制規(guī)程
- DB37-T 4426-2021 城市消防安全評價導(dǎo)則
- 《議論文開頭結(jié)尾》課件
- 《長方體和正方體的體積》課件2
- 《上海市科技教師》課件
- 第7章-無人機(jī)法律法規(guī)
- 藥劑科基本藥物處方用藥狀況點評工作表
- 拆遷征收代理服務(wù)投標(biāo)方案
- 完形療法概述
- 說課的技巧和方法專題講座
- SL631-637-2012-水利水電工程單元工程施工質(zhì)量驗收評定標(biāo)準(zhǔn)
- 監(jiān)理質(zhì)量管理講義監(jiān)理工作的基本知識
- 煙花爆竹考試真題模擬匯編(共758題)
- 四年級數(shù)學(xué)上冊口算天天練4
- 水利水電工程監(jiān)理平行檢測表部分
- 分部分項工程質(zhì)量檢驗計劃表
評論
0/150
提交評論