版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、淮北師范大學(xué) 2010屆學(xué)士學(xué)位論文 C語言求解定積分系別、專業(yè)數(shù)學(xué)科學(xué)學(xué)院 信息與計算科學(xué)研 究 方 向 計算機(jī) 學(xué) 生 姓 名 謝貴龍 學(xué) 號 06114303068 指導(dǎo)教師姓名 羅婷婷 指導(dǎo)教師職稱 講師 2010年4月20日C語言求解定積分謝貴龍(淮北師范大學(xué),數(shù)學(xué)科學(xué)學(xué)院,淮北,235000)摘 要本文以連續(xù)函數(shù)在閉區(qū)間上的定積分為研究的出發(fā)點。在簡單介紹定積分、連續(xù)函數(shù)等相關(guān)定義后,論述了兩種算法思想,并利用語言編寫相應(yīng)的程序。通過函數(shù)舉例驗證了算法的合理性和正確性,并討論了這兩種算法在適用范圍及精確度上的略微差異。最后通過本文的論述推廣到其它求定積分的算法的實現(xiàn)。關(guān)鍵詞 C語言
2、,定積分,編程C Language to Solve Definite IntegralXie Guilong(School of Mathematical Science, Huaibei Normal University,huaibei,235000)AbstractIn this thesis, definite integral of a continuous function in the closed interval starting point for research.After a brief introduction of definite integral and c
3、ontinuous function definition,I discussed the ideas of two algorithms and used the corresponding program written in C.And then I verified through the example Function algorithm is correct and reasonable,discussed the scope of the two algorithms and the accuracy of the slight difference.Finally, the
4、request will be extended to other points of the algorithm, through the discussion of this thesis.Keywords C Language, definite integral, programming目 錄引言1一、C語言實現(xiàn)定積分計算的算法11.1定積分11.2C語言實現(xiàn)定積分計算的算法2二、模塊構(gòu)成和各模塊功能32.1關(guān)于算法一的模塊構(gòu)成和各模塊功能32.2關(guān)于算法二的模塊構(gòu)成和各模塊功能4三、C語言求解定積分的具體程序43.1程序一(復(fù)合梯形公式求解定積分)43.2程序二(辛甫生公式求解定積分
5、)5四、程序編譯運(yùn)行及調(diào)試情況64.1程序一的編譯運(yùn)行及調(diào)試情況64.2程序二的編譯運(yùn)行及調(diào)試情況94.3程序簡單分析11參考文獻(xiàn)12致 謝13引言隨著計算機(jī)的普及,計算機(jī)越來越多的運(yùn)用于數(shù)學(xué)領(lǐng)域,但在早期,計算機(jī)實現(xiàn)的數(shù)學(xué)作用僅僅是四則運(yùn)算、統(tǒng)計計算等簡單的功能。如今,科學(xué)發(fā)展神速,人們自然要求計算機(jī)實現(xiàn)更多樣化,更深層次的數(shù)學(xué)功能,比如對定積分的自動求解等。長期以來,定積分的求解依賴于手動繁雜的計算,這不僅費時費力,且容易出錯。于是,人們希望通過編寫一套程序來實現(xiàn)對定積分的自動求解。然而函數(shù)的類型多種多樣,定積分的求解方法也靈活多變,不可千篇一律,故本文以最簡單的連續(xù)函數(shù)的定積分求解為出發(fā)
6、點,展開研究,以定積分的定義為思想基礎(chǔ),設(shè)計C程序,來實現(xiàn)計算機(jī)對定積分的自動求解。一、C語言實現(xiàn)定積分計算的算法1.1定積分定積分的定義1定積分就是求函數(shù)在區(qū)間中圖線下包圍的面積。即所包圍的面積。這個圖形稱為曲邊梯形,特例是曲邊梯形。如下圖:(圖1)設(shè)一元函數(shù),在區(qū)間內(nèi)有定義。將區(qū)間分成個小區(qū)間。設(shè),取區(qū)間中曲線上任意一點記做,作和式:若記為這些小區(qū)間中的最長者。當(dāng)時,若此和式的極限存在,則稱這個和式是函數(shù) 在區(qū)間上的定積分。記作:其中稱為積分下限,為積分上限,為被積函數(shù), 為被積式, 為積分號。之所以稱其為定積分,是因為它積分后得出的值是確定的,是一個數(shù),而不是一個函數(shù)。定積分的幾何意義1
7、它是介于x軸、函數(shù)f(x)的圖形及兩條直線x=a,x=b之間的各個部分面積的代數(shù)和。在x軸上方的面積取正號;在x軸下方的面積取負(fù)號。如圖(圖2)1.2 C語言實現(xiàn)定積分計算的算法利用復(fù)合梯形公式實現(xiàn)定積分的計算2,3假設(shè)被積函數(shù)為,積分區(qū)間為,把區(qū)間等分成個小區(qū)間,各個區(qū)間的長度為,即,稱之為“步長”。根據(jù)定積分的定義及幾何意義,定積分就是求函數(shù)在區(qū)間中圖線下包圍的面積。將積分區(qū)間等分,各子區(qū)間的面積近似等于梯形的面積,面積的計算運(yùn)用梯形公式求解,再累加各區(qū)間的面積,所得的和近似等于被積函數(shù)的積分值,越大,所得結(jié)果越精確。以上就是利用復(fù)合梯形公式實現(xiàn)定積分的計算的算法思想。復(fù)合梯形公式:2具體
8、算法如下:算法一Step1:輸入積分區(qū)間的端點值和;Step2:輸入?yún)^(qū)間的等分個數(shù)(要求盡可能大,以保證程序運(yùn)行結(jié)果有較高的精確度);Step3:計算步長;Step4:對累加和賦初值;Step5:計算累加和Step6:算出積分值;Step7:輸出積分近似值,完畢。利用辛甫生公式實現(xiàn)定積分的計算假設(shè)被積函數(shù)為,積分區(qū)間為,把區(qū)間等分成個小區(qū)間,各個區(qū)間的長度為。在復(fù)合梯形公式的基礎(chǔ)上,構(gòu)造出一種加速計算積分的方法。作為一種外推算法, 它在不增加計算量的前提下提高了誤差的精度。具體算法如下:算法二Step1:輸入積分上限和下限;Step2:輸入?yún)^(qū)間的等分個數(shù)(要求盡可能大,以保證程序運(yùn)行結(jié)果有較高
9、的精確度);Step3:利用辛甫生公式:2,實現(xiàn)對定積分的求解(其中,均為梯形公式計算所得的結(jié)果,由此可見辛甫生公式是以梯形公式為基礎(chǔ)的);Step4:算出積分值;Step5:輸出積分近似值,完畢。二、模塊構(gòu)成和各模塊功能2.1關(guān)于算法一的模塊構(gòu)成和各模塊功能該算法利用復(fù)合梯形公式的思想來編程,從而實現(xiàn)對連續(xù)函數(shù)的自動求解。程序主要由兩部分組成。(1)、主函數(shù)部分4: 定義區(qū)間等分的個數(shù)變量n,n為整型變量,即int。在此需要強(qiáng)調(diào)的是n的值應(yīng)盡量大,使得程序運(yùn)算結(jié)果更精確。定義積分上限變量b和下限變量a,步長變量h,中間變量T,以及積分變量Tn??紤]到實際情況中,這些變量常常不是整數(shù),而單精度
10、實數(shù)的有效位數(shù)只有7位,故定義它們?yōu)榫哂?6位有效位數(shù)的雙精度浮點型變量,即double。主函數(shù)部分主要實現(xiàn)對步長h的求解、對T賦初值,以及T的累加求和、積分值Tn的求解和輸出等功能。即主函數(shù)實現(xiàn)了對復(fù)合梯形公式利用的功能。程序中被積函數(shù)是通過函數(shù)調(diào)用來實現(xiàn)的。(2)、被調(diào)函數(shù)f(x)5:該函數(shù)的作用在于定義一個被積函數(shù),達(dá)到函數(shù)舉例的目的。由于本論文研究的出發(fā)點為連續(xù)函數(shù),故所定義的函數(shù)實例應(yīng)為區(qū)間a,b上連續(xù)函數(shù)。2.2關(guān)于算法二的模塊構(gòu)成和各模塊功能6 該算法利用辛甫生公式的思想來編程,以復(fù)合梯形公式為基礎(chǔ),從而實現(xiàn)對連續(xù)函數(shù)的自動求解。程序主要由三部分組成。(1)、主函數(shù)部分:定義區(qū)間
11、等分的個數(shù)變量n,n為整型變量。定義積分上限變量b和下限變量a,以及積分變量Sn,均為雙精度浮點型變量。由于辛甫生公式中利用到梯形公式,所以主函數(shù)需實現(xiàn)對復(fù)合梯形公式函數(shù)的調(diào)用。(2)、被調(diào)函數(shù)T: 該部分是將復(fù)合梯形公式作為一個普通函數(shù)來定義,是對算法一得變形使用。這樣一來,通過主函數(shù)利用辛甫生公式計算定積分而調(diào)用它,構(gòu)造出一種加速計算積分的方法,使計算結(jié)果更精確。(3)、被調(diào)函數(shù)f(x):定義一個被積函數(shù),達(dá)到函數(shù)舉例的目的。所定義的函數(shù)實例應(yīng)為區(qū)間a,b上連續(xù)函數(shù)。三、C語言求解定積分的具體程序3.1程序一(復(fù)合梯形公式求解定積分)#include<stdio.h>void
12、main()double f(double x);/*f(x)為函數(shù)舉例,即被積函數(shù)*/int i,n;/*n為區(qū)間等分的個數(shù),應(yīng)盡可能大*/double a,b,h,T,Tn;/*a為積分下限,b為積分上限,h為步長*/printf("ji fen xia xian a:n");scanf("%lf",&a);printf("ji fen shang xian b:n");scanf("%lf",&b);printf("qu jian deng fen ge shu n (jin ke
13、neng da ):n");scanf("%d",&n);h=(b-a)/n;/*步長的計算*/T=(f(a)+f(b)/2;/*中間變量T賦初值*/for(i=1;i<n;i+)T=T+f(a+i*h);/*用循環(huán)控制來完成復(fù)合梯形公式的運(yùn)算*/Tn=T*h;printf("han shu f(x) de ji fen zhi wei Tn=%fn",Tn);/*以下為被積函數(shù)的定義,即函數(shù)舉例*/double f(double x)double y;y=x*x;return (y);3.2程序二(辛甫生公式求解定積分)#inc
14、lude<stdio.h>void main()double T(double x,double y,int z);double a,b,Sn;int n;printf("ji fen xia xian a:n");scanf("%lf",&a);printf("ji fen shang xian b:n");scanf("%lf",&b);printf("qu jian deng fen ge shu n (jin ke neng da ):n");scanf(&q
15、uot;%d",&n);Sn=(4*T(a,b,2*n)-T(a,b,n)/3;/*利用辛甫生公式求解定積分*/printf("han shu f(x) de ji fen zhi wei Sn=%fn",Sn);/*以下為復(fù)合梯形公式的定義*/double T(double x,double y,int z)double h,Tn;int i;double f(double t);h=(y-x)/z;Tn=(f(x)+f(y)/2;for(i=1;i<z;i+)Tn=Tn+f(x+i*h);Tn=Tn*h;return (Tn);/*以下為被積函數(shù)
16、的定義,即函數(shù)舉例*/double f(double t)double s;s=t*t;return (s);四、程序編譯運(yùn)行及調(diào)試情況4.1程序一的編譯運(yùn)行及調(diào)試情況 被積函數(shù)為f(x)=x*x的情況(1)先編譯,再運(yùn)行,屏幕顯示及操作如下:輸入:4+回車輸入:10+回車輸入:100+回車(手工計算所得結(jié)果為312)(2)輸入:3+回車輸入:11+回車輸入:150+回車(手工計算所得結(jié)果為434.666667)(3)輸入:3+回車輸入:11+回車輸入:3+回車(手工計算所得結(jié)果為434.666667)被積函數(shù)為f(x)=x*x*x+2的情況將被積函數(shù)改為f(x)=x*x*x+2,具體做法如下
17、:將程序一中的被調(diào)函數(shù)double f(double x)double y;y=x*x;return (y);改為double f(double x)double y;y=x*x*x+2;return (y);然后重新編譯,再運(yùn)行,屏幕顯示及操作如下:輸入:45+回車輸入:112+回車輸入:10000+回車(手工計算所得結(jié)果為3831296.75)4.2程序二的編譯運(yùn)行及調(diào)試情況 被積函數(shù)為f(x)=x*x的情況(1)輸入:4+回車輸入;10+回車輸入:100+回車(手工計算所得結(jié)果為312,比較程序一得出的結(jié)果Tn=312.003600)(2)輸入:3+回車輸入:11+回車輸入:150+回車
18、(手工計算所得結(jié)果為434.666667,比較程序一得出的結(jié)果Tn=434.670459)(3)輸入:5+回車輸入:5+回車輸入:200+回車(手工計算所得結(jié)果為0)被積函數(shù)為f(x)=x*x*x+2的情況輸入:45+回車輸入:112+回車輸入:10000+回車(手工計算所得結(jié)果為38312961.75,比較程序一得出的結(jié)果Tn=38312961.868049)4.3程序簡單分析:(1)從運(yùn)行所得結(jié)果來看以上兩個程序雖簡短,但能較精確的求解出被積f(x)的定積分??梢娖渌惴ㄋ枷?,以及程序編輯的正確性。(2)從程序調(diào)試過程可知,區(qū)間等分個數(shù)n越大,所得結(jié)果越精確。比如在程序一中的(2)、(3),
19、在相同被積函數(shù)f(x)=x*x,相同積分上下限的前提下,當(dāng)區(qū)間等分個數(shù)為n=150時,運(yùn)行所得結(jié)果Tn=434.670459;當(dāng)區(qū)間等分個數(shù)為n=3時,運(yùn)行所得結(jié)果Tn=444.148148。而實際積分值應(yīng)為Tn=434.666667,如此說明區(qū)間等分個數(shù)n越大,所得結(jié)果越精確。(3)從兩個程序運(yùn)行所得結(jié)果的對比,顯然,程序二比程序一在不增加計算量的前提下具有較高的精確度。即在條件相同的前提下,利用辛普生公式求解定積分比利用復(fù)合梯形公式求解定積分更有效可行。(4)本文的研究具有舉一反三的作用。程序二以辛普生公式為思想基礎(chǔ),對程序一進(jìn)行改造,使得復(fù)合梯形公式在程序二中作為普通函數(shù)被調(diào)用,構(gòu)造出一種加速計算積分的方法,使計算結(jié)果更精確。在此值得一提的是,另外兩個著名的定積分求解公式:科特斯公式:;龍貝格公式:??铺厮构绞且詮?fù)合梯形公式和辛普生公式為基礎(chǔ)構(gòu)造出一種加速計算積分的方法,較復(fù)合梯形公式和辛普生公式具有更好的精確度。而龍貝格公式是以復(fù)合梯形公式、辛普生公式和科特斯公式為基礎(chǔ)構(gòu)造出一種加速計算積分的方法,比以上三個求積公式精確度都要高。對于這兩種算法思想的編程,可類似于程序二的編輯,將前者作為普通函數(shù)來調(diào)用,構(gòu)造
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利許可使用與轉(zhuǎn)讓協(xié)議合同
- 上海住宅租賃合同范本
- 人事代理人員勞動合同書
- 個人壽險代理合同書樣本
- 臨時兼職教師勞動合同范文
- 臨時性勞動合同模板
- 專線物流服務(wù)合作協(xié)議合同
- AI智能技術(shù)開發(fā)合作合同模板
- 人事助理試用期聘用合同模板
- 門面租賃協(xié)議書
- 重建成長型思維課件
- 電捕焦油器火災(zāi)爆炸事故分析
- 質(zhì)量問題分析及措施報告
- 汽修廠安全風(fēng)險分級管控清單
- 現(xiàn)代通信原理與技術(shù)(第五版)PPT全套完整教學(xué)課件
- 病例展示(皮膚科)
- GB/T 39750-2021光伏發(fā)電系統(tǒng)直流電弧保護(hù)技術(shù)要求
- DB31T 685-2019 養(yǎng)老機(jī)構(gòu)設(shè)施與服務(wù)要求
- 燕子山風(fēng)電場項目安全預(yù)評價報告
- 高一英語課本必修1各單元重點短語
- 完整版金屬學(xué)與熱處理課件
評論
0/150
提交評論