版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.PAGE.中南大學(xué)本科生課程設(shè)計(jì)<實(shí)踐>設(shè)計(jì)報(bào)告<程序設(shè)計(jì)基礎(chǔ)>題目常微分方程數(shù)值解學(xué)生姓名鄭偉指導(dǎo)教師楊紅雨學(xué)院土木建筑學(xué)院專業(yè)班級(jí)土建類0908學(xué)生學(xué)號(hào)1208090814計(jì)算機(jī)基礎(chǔ)教學(xué)實(shí)驗(yàn)中心2010年07月07日FORTRAN課程設(shè)計(jì)報(bào)告摘要本題是通過長(zhǎng)期的觀察統(tǒng)計(jì),得到一個(gè)食餌—捕食者系統(tǒng)的數(shù)學(xué)模型如下:,食餌:r1=1,λ1=0.1,x1<0>=25;捕食者<鯊魚>:r2=0.5,λ2=0.02,x2<0>=2;繪制食餌和鯊魚數(shù)量隨時(shí)間的變化情況圖。再由已知的初始條件,通過一階線性微分方程組得到食餌和鯊魚數(shù)量隨時(shí)間變化關(guān)系曲線。這一過程首先要通過四階龍格庫(kù)塔法得到多組鯊魚和食餌隨時(shí)間變化的數(shù)據(jù),再通過FORTRAN編譯程序,QuickWin的圖形操作得到變化曲線。關(guān)鍵詞:四階龍格—庫(kù)塔法、FORTRAN、QuickWin圖形操作設(shè)計(jì)思想〔一總體設(shè)想1、生成數(shù)據(jù)用四階龍格庫(kù)塔法,取不同的時(shí)刻對(duì)應(yīng)鯊魚和食餌數(shù)量,得到多組數(shù)據(jù)。2、QuickWin圖形操作畫出基本圖形界面模仿課本及例題做出一個(gè)基本的圖形界面,包括界面的大小、顏色、名稱等,以為后面繪圖作準(zhǔn)備。3、設(shè)計(jì)主程序連接數(shù)據(jù)與QuickWin程序,畫出相應(yīng)曲線將得到的多組數(shù)據(jù)與繪圖程序連接起來,并最終繪制鯊魚、食餌隨時(shí)間變化曲線?!捕到y(tǒng)模塊結(jié)構(gòu)簡(jiǎn)介常微分方程的數(shù)值解常微分方程的數(shù)值解生成數(shù)據(jù)QuickWin圖形操作生成繪圖基本界面設(shè)計(jì)主程序連接數(shù)據(jù)文件和圖形界面,繪制曲線輸出數(shù)據(jù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)①數(shù)據(jù)生成模塊首先要查閱資料了解四階龍格庫(kù)塔法的原理及其數(shù)學(xué)形式:,其中
則,同理可得首先在FORTRANPOWERSTATION中建立一個(gè)項(xiàng)目文件,命名為myfiles,之后新建一個(gè)text.f90文件命名為數(shù)據(jù),開始編程。
算法N—S圖如下:直到i=250止,其中步長(zhǎng)為1即h定義數(shù)組X1,X2,并將x1,x2的初值賦給數(shù)組的第一個(gè)元素根據(jù)公式計(jì)算再計(jì)算X1<i+1>和X2<i+1>數(shù)組元素均被賦值后,新建文件"鯊魚數(shù)據(jù).txt"、"食餌數(shù)據(jù).txt"并將數(shù)組中的t值和x1,x2值分別輸出到兩個(gè)文件當(dāng)中②圖形基本界面模塊圖形界面的生成需要用到QuickWin繪圖基礎(chǔ),而這一功能與之前所編譯的程序性質(zhì)完全不同,因此需要重新建立一個(gè)新的項(xiàng)目mywin,并選擇類型TYPE為QuickWinApplication,再新建TEXT,可以開始繪圖程序的編譯了。關(guān)于圖形程序的設(shè)計(jì),需要考慮到大量的界面屬性,如像素點(diǎn)的多少,窗口的大小、標(biāo)題,除此之外,很重要的一點(diǎn)是要設(shè)置窗口為視窗坐標(biāo),即我們通常用的笛卡爾坐標(biāo)系,以便后面觀察圖形更直觀。首先要定義繪圖類型的變量,定義如下:usemsflibinteger<2>status直到i=250止,其中步長(zhǎng)為1即h定義數(shù)組X1,X2,并將x1,x2的初值賦給數(shù)組的第一個(gè)元素根據(jù)公式計(jì)算再計(jì)算X1<i+1>和X2<i+1>數(shù)組元素均被賦值后,新建文件"鯊魚數(shù)據(jù).txt"、"食餌數(shù)據(jù).txt"并將數(shù)組中的t值和x1,x2值分別輸出到兩個(gè)文件當(dāng)中real<8>df,yf,i,p,qcharacter*2c
type<wxycoord>wxytype<windowconfig>wctype<qwinfo>winfo定義了繪圖類型之后就可以設(shè)置圖形界面的基本屬性了,需要設(shè)置像素為800*600,窗口最大化,背景顏色為白色等。N—S圖如下:設(shè)置窗口最大化winfo.type=qwin$max設(shè)置視窗大小status=setwindow<.true.,0,0,df,yf>設(shè)置背景為白色status=setbkcolorrgb<#ffffff>
刷新屏幕callclearscreen<$gclearscreen>設(shè)置窗口最大化winfo.type=qwin$max設(shè)置視窗大小status=setwindow<.true.,0,0,df,yf>設(shè)置背景為白色status=setbkcolorrgb<#ffffff>
刷新屏幕callclearscreen<$gclearscreen>繪制X軸callmoveto_w<2d0,2d0,wxy>status=lineto_w<350,2d0>繪制Y軸callmoveto_w<2d0,2d0,wxy>status=lineto_w<2d0,350>直到i=35,步長(zhǎng)為1設(shè)置坐標(biāo)顏色為紅色status=setcolorrgb<#0000ff>輸出橫坐標(biāo)刻度callmoveto_w<i,2d0,wxy>
write<c,"<i2>">int<i-2>calloutgtext<c>直到i=90,步長(zhǎng)為2輸出縱坐標(biāo)刻度callmoveto_w<1d0,i,wxy>write<c,"<i2>">int<i-2>calloutgtext<c>最后,要在圖形界面輸出必要的標(biāo)識(shí),如圖名、注釋等:添加圖形題目,顏色為黑色status=setcolorrgb<#000000>callmoveto_w<10d0,70d0,wxy>calloutgtext<"食餌和鯊魚數(shù)量隨時(shí)間的變化情況圖">
紅色連續(xù)直線的是鯊魚曲線callsetlinestyle<#ffff>status=setcolorrgb<#0000ff>callmoveto_w<30d0,20d0,wxy>status=lineto_w<32,20>添加圖形題目,顏色為黑色status=setcolorrgb<#000000>callmoveto_w<10d0,70d0,wxy>calloutgtext<"食餌和鯊魚數(shù)量隨時(shí)間的變化情況圖">
紅色連續(xù)直線的是鯊魚曲線callsetlinestyle<#ffff>status=setcolorrgb<#0000ff>callmoveto_w<30d0,20d0,wxy>status=lineto_w<32,20>calloutgtext<"鯊魚曲線">藍(lán)色虛線的是食餌曲線callsetlinestyle<#f0f0>
status=setcolorrgb<#ff0000>callmoveto_w<30d0,25d0,wxy>status=lineto_w<32,25>calloutgtext<"食餌曲線">直到i=n當(dāng)文件未讀到最后一條<.not.eof<10>>定義動(dòng)態(tài)數(shù)組real,allocatable::t<:>,x1<:>,x2<:>確定數(shù)組元素個(gè)數(shù)read<10,200>n=n+1open<10,file="鯊魚數(shù)據(jù).txt">n=0確定數(shù)組元素個(gè)數(shù)allocate<t<n>,x1<n>,x2<n>>open<12,file="食餌數(shù)據(jù).txt">將文件中數(shù)據(jù)傳送到所定義的數(shù)組中read<10,200>t<i>,x1<i>read<12,200>t<i>,x2<i>t<i>=t<i>+2x1<i>=x1<i>+2x2<i>=x2<i>+2調(diào)用子程序繪圖calltx<t,x1,x2,n>三、設(shè)計(jì)總結(jié)編譯程序的過程枯燥卻也充滿樂趣,在編程的過程中,只有不斷嘗試,不斷發(fā)現(xiàn)問題、分析問題、解決問題,才能使自己的程序更臻完美。1、編譯過程中出現(xiàn)的問題①題目的分析根據(jù)對(duì)題目的分析可知,只有使用數(shù)值分析中的經(jīng)典方法——四階龍格—庫(kù)塔法才能完成該常微分方程的求解過程,因此,首先要知道龍格庫(kù)塔法的基本原理及其數(shù)學(xué)表達(dá)式。②數(shù)據(jù)的生成過程在由龍格庫(kù)塔法生成多組數(shù)據(jù)的過程中,我使用了簡(jiǎn)單地翻譯數(shù)學(xué)表達(dá)式的方法,這是十分不明智的,如果在之前定義一個(gè)函數(shù),然后在循環(huán)過程中調(diào)用,就會(huì)使程序簡(jiǎn)單很多了。③繪圖程序的編譯在繪圖程序中,最重要的是過程中所用到各點(diǎn)的坐標(biāo),一定要注意坐標(biāo)一定要是雙精度實(shí)型的數(shù)據(jù)類型,否則總會(huì)出現(xiàn)數(shù)據(jù)類型錯(cuò)誤。④主程序的連接主程序與子程序的連接過程中,總是可能因?yàn)樽x入文件過程不對(duì)而出現(xiàn)連接錯(cuò)誤,注意一定要把數(shù)據(jù)生成模塊生成的文件放在主程序文件夾下,這樣才不會(huì)出現(xiàn)連接錯(cuò)誤。2、編譯過程中的優(yōu)點(diǎn)①生成數(shù)據(jù)多在數(shù)據(jù)生成過程中使用了較小的步長(zhǎng)間隔,這樣可以生成多組數(shù)據(jù),使結(jié)果更精確,繪圖時(shí)所繪制的曲線自然也更流暢優(yōu)美。②繪圖細(xì)節(jié)精細(xì)在繪制圖形界面的基本情況時(shí),考慮到圖形的直觀性,較清晰地繪出了坐標(biāo)軸及其坐標(biāo)刻度,除此之外,還有圖形名稱、以及對(duì)兩條曲線的注釋等,便于讀圖。3、心得體會(huì)在編譯程序時(shí),細(xì)心是最重要的一環(huán),萬(wàn)不能粗心大意,有時(shí)自己一點(diǎn)點(diǎn)的疏忽就會(huì)導(dǎo)致整個(gè)程序運(yùn)行錯(cuò)誤,并在很長(zhǎng)一段時(shí)間里找不到答案,因而浪費(fèi)了很多時(shí)間,這一點(diǎn)一定要吸取教訓(xùn),不能重蹈覆轍。一方面在程序設(shè)計(jì)過程中,發(fā)現(xiàn)了自己掌握的只是在文件與數(shù)據(jù)傳輸兩方面有所欠缺,但同時(shí)通過本次課程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上海大學(xué)單招職業(yè)適應(yīng)性考試題庫(kù)帶答案詳解
- 2026年新疆天山職業(yè)技術(shù)大學(xué)單招職業(yè)技能考試題庫(kù)及答案詳解1套
- 2026年泉州輕工職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案詳解
- 2026年錫林郭勒職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及完整答案詳解1套
- 2026年無(wú)錫城市職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)及答案詳解1套
- 2026年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案詳解一套
- 2026年福建衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案詳解1套
- 2026年西藏日喀則地區(qū)單招職業(yè)適應(yīng)性考試題庫(kù)及參考答案詳解1套
- 2026年黎明職業(yè)大學(xué)單招職業(yè)傾向性測(cè)試題庫(kù)及答案詳解1套
- 2026年遵義職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)及完整答案詳解1套
- 【1例心肌梗塞患者的PCI術(shù)后護(hù)理探究7800字(論文)】
- 電工培訓(xùn)觸電急救課件
- 小型混凝土攪拌機(jī)畢業(yè)設(shè)計(jì)
- 小學(xué)數(shù)學(xué)主題圖
- 天津泰達(dá)股權(quán)激勵(lì)的案例分析
- 臥床病人的護(hù)理即翻身技巧課件
- 智能信報(bào)箱系統(tǒng)施工方案
- 嚴(yán)歌苓作品:霜降
- 西爾斯懷孕百科(升級(jí)版)
- 樓梯工程量計(jì)算表(模板、砼計(jì)算)
- 孔型設(shè)計(jì)的基本知識(shí)
評(píng)論
0/150
提交評(píng)論