前言:中文期刊網精心挑選了數學建模算法與程序范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
數學建模算法與程序范文1
該課程研究的內容主要包含兩部分:一是現實世界中的信息如何抽象并用數據的形式在計算機內的存儲問題,也就是數據的結構;二是對存儲的數據進行加工處理以獲取新的信息的方法,也就是算法。這種課程既有很強的抽象性,同時也有很強的邏輯性和目標性。該類課程很適合采用任務驅動的教學模式。
2.1數學建模流程指導“數據結構”課堂教學過程的優化數學建模一般要經過分析問題、建立模型、模型求解、解決問題四個環節,而且后三個環節可以多次循環進行以便得到令人滿意的結果?!皵祿Y構”教學過程中可以按這樣的思路來引出問題,進一步給出更好的算法,這樣可以引導學生創新意識的培養和邏輯思維能力的提高。下面結合課程中排序部分講到了“冒泡排序”算法來展示這個過程:}這樣一個算法對任何一個10數據組都能進行正確排序,看似問題已經解決了,但這時應該讓學生考慮:如果給出的一組數據2.2數學建模團隊的協作模式啟發“數據結構”課堂教學模式變革數學建模時問題復雜、信息多樣、計算量大等特點決定了整個任務不是一人能完成的,需要一個分工協作較好的團隊。只有準備充分、分工明確、精誠合作的團隊才能取得好的成績。受此啟發,教學過程中,可以對于部分內容采用分組學習和討論的方式進行。如在學習“隊列”的時候,可以讓學生分成幾組,每一組首先通過資料查詢等方法提出一個可以抽象為隊列的實際問題(如火車調度問題、銀行排隊問題等),然后針對實際問題小組內展開討論,進一步寫出算法并驗證。教師可以分時段地參與到不同的小組中討論。2.3數學建模結果的實用性和高效性指導“數據結構”課堂教學評價數學建模的最終結果要求實用和高效。實用就是要求最終建立的數學模型及其算法能針對具體的問題給出正確的結果,否則就是錯誤的模型,整個過程是失敗的。高效就是要求針對具體的問題提出的模型特別是算法所用時間是最短的,所需要的條件是最少的。“數據結構”課堂教學效果如何需要做出判斷,如何判斷才是合理的?課堂教學后可以通過考試或課程作業匯報等形式,針對具體的問題,看學生給出的算法是否真的能把問題解決了,將多個同類問題的算法做比較和評價,看是否有改進或創新。
3“數據結構”課堂教學為數學建模提供必要的能力儲備
3.1在“數據結構”課堂教學中培養學生的抽象思維能力課堂教學中涉及到了數據組織的三大邏輯結構(即線性結構、樹狀結構和網狀結構),在教學過程中多提出一些實際問題,然后針對這些問題引導學生利用所學知識進行問題抽象,最終把實際問題涉及到的對象用某種邏輯結構表示出來。這樣學生的抽象思維能力會不斷提高。下面講一個例子:多叉路通燈管理問題[10]:某個城市的某一路口的道路交叉情況現狀如圖1所示,要求給出一個針對該路口的紅綠燈管理方案,既要能高效地順利通行又不會發生交通事故。圖1路口的道路交叉情況示意圖對于這個問題,如果只是針對圖1宏觀地去分析比較復雜而且不具備通用性,提出的問題應該是解決一類問題。結合“數據結構”的內容很容易想到用圖狀結構來解決,關鍵問題是怎樣抽象為圖狀結構。抽象過程之一可以是這樣:因為是通行道路交叉問題,因此通路是數據元素,不能通行可以抽象為關系,結合圖1展示的現場情況,可以給出圖2所示的通行關系圖。圖中顏色不同的頂點所代表的通路不能同時放行。3.2在“數據結構”課堂教學中培養學生的算法分析和創新能力“數據結構”課程一開始就提出算法效率以及分析方法,可見算法的效率的重要性。因此,后續經典算法講解完都給出了算法分析思路,課堂教學中,也要重視這一點。在教學過程中應該有意識地通過講解或討論的形式,讓學生習慣于這種算的的比較和分析,并在此基礎上提出自己新的想法。比如文中第二部分第1點提到的“冒泡排序”算法的改進問題,就是一個很好的例子。再比如針對排序問題,課程中還提出了其它的算法,其中“選擇排序”算法更為經典。算法如下:3.3在“數據結構”課堂教學中培養學生的動手能力“數據結構”課程一般有配套的實驗課程,實驗課程的主要內容就是課堂教學過程給出的算法的驗證以及改進或新提出的算法的實現。實驗過程需要學生用自己熟練掌握的語言工具通過在計算機上編寫和調試對應的程序,通過程序的結果來檢驗算法的正確性與否。從這個角度來講,鍛煉和提高了學生的動手能力,這也正是數學建模中兩個重要環節(即模型求解、解決問題)所必須的一種能力。
數學建模算法與程序范文2
關鍵詞: 數學建模競賽 教學模式 綜合素質能力
江漢大學自2002年組隊參加全國大學生數學建模競賽,至今10多年了。最近一年內,在2013年2月派隊參加美國數學建模大賽,獲得一等獎,在4月份和5月份的網絡杯賽中獲得多項二等獎和三等獎,培養了一批優秀的數模人才。因此2013年我校的數模協會吸引了更多的學生加入,大家都渴望通過數模學習提高自己的創新能力和綜合素質能力,并希望在數模比賽中獲得好成績。為了把將來的培訓工作做得更好,我們從以下幾個方面提出了培訓改革方案,并在我校試點實行。
1.校內公開選拔人才作為后備基礎
2013年7月11號開始,統計出《高等代數》或《數學分析》,《線性代數》或《高等代數》,《概率論和數理統計》這幾門數學基礎課平均分在75分以上的全校大二和大三學生,并向他們發出邀請,歡迎他們加入數學建模小組,再進行集中學習和擇優,選出學員參加各類數學建模比賽。雖然數學建模能力與數學成績沒有太大的關系,但是大部分數學基礎好的學生除基礎知識扎實外,平時的學習積極性也很高,在數學建模小組中會以端正的態度對待,這些是必備的基礎。
數學基礎稍差的學生也可以參加,但要有一定的特長,如對算法熟悉,或能熟練操作excel,或有較強的寫作能力。最重要的是要在培訓學習一段時間后,經過考核有明顯的進步。例如有一個機電系的學生對模擬退火算法有一定的研究,我們邀請他加入數學建模小組。
2.鼓勵較早選修與數模相關的課程
數學建模競賽的選題一般來源于工業、農業、工程技術和管理科學等方面,經過適當簡化加工的實際問題,也就是說在建模中不能死板地用數學知識,而是要和實際知識相結合。
《運籌學》是一門利用統計學、數學模型和算法等方法,尋找復雜問題中的最佳或近似最佳的解答的學科。研究運籌學的基礎知識包括圖論、隨機過程、離散數學,線性規劃和非線性規劃,優化理論和算法基礎等。而在應用方面,多與倉儲、物流、優化理論和算法等領域相關。因此運籌學是與應用數學、工業工程、計算機科學等專業密切相關的學科。學好了這門課再加上上述的三門數學基礎課,整個數模所要求的知識就掌握了一大部分。因此,我們應該鼓勵建模班的學生選修《運籌學》,由于我校采用的是選課制,因此實現起來并不難。同樣,熟悉算法和編程能力也是數模中的一大特色和難點,是數學理論和實際應用中結合的重要環節。如果建立了很好的數學模型,不能有效利用計算機求解和計算,最終也是無效的,因此建議學生選修《數值計算方法》或《數學實驗》等計算數學方面的至少一門課程。如果一個學生掌握好了三門數學基礎課,再加上《運籌學》和《數學實驗》(或《數值計算方法》),那他就具備了得獎的必要條件。
我們建議和指導學生選修這兩門課,是要他們掌握這些課程中的相關知識,而不是硬要他們非選不可,不要讓他們理解為是為了建模而選課。但是,在我校的數學專業,《運籌學》和《數值計算方法》是必修的課程;在工課專業,優化理論和數值計算也是很有必要學習的一門課;在經管等專業,《運籌學》也是必選課。在計算機和網絡專業中,在他們的必修課《離散數學》中,也介紹了部分隨機過程,圖論方面的知識,對算法就更熟悉了。因此從整個參賽隊伍來看,無論隊員來自哪個專業,都可以在所在的專業學到所需的知識。我們要做的是將上述理由解釋給他們聽,為了建模而選的課和他們所學專業要求的選修課程并不沖突。但是很多學生習慣在大四時學一些更深的數學知識,我們建議他們較早地選這些課。我校學生大多數在大三時參加數模比賽,這就要他們在大二這一年熟悉優化算法、圖論等方面的知識和上機寫算法程序方面的能力。
3.充分利用網絡教學資源
暑假50多天本是集中學習培訓的好時機,但夏天天氣熱,學生宿舍簡樸,只得讓他們回家完成作業。今年暑期我們布置的作業之一是:看國防科技大學教授吳孟達主講的九集視頻公開課《數學建模——從自然走向理性》,看同濟大學數模網上的資料,等等。到下次到校集中培訓時,讓他們交流學習體會和作數模專題的報告。
4.集中訓練學生
一位基礎數學專業的主講老師負責講解初等數學模型,微分方程,層次分析法,模糊數學,決策論等模型;一位統計學專業的主講老師負責講解統計學方面的模型如:回歸分析模型,方差分析模型,主成分分析,MonteCarlo方法等;一位計算數學專業的主講老師負責講解:插值和擬合,差分方程和微分方程的數值解法,模擬退火算法或遺傳算法,以及算法的編程實現和利用數學軟件,如:MATLAB作圖,可視化技術等;一位應用數學專業的主講老師負責講解綜合類的數學建模案例分析和文章的寫作等。
5.積極組織學生參加國內的小、中型比賽
每年積極組織學生參加網絡杯,華中杯等小、中型賽事。這些比賽可以讓學生熟悉建模的過程,綜合運用所學知識,加強三人之間的協助能力,訓練寫作能力;引導學生運用所學的數學知識和計算機技術,提高分析問題、解決問題的能力。如果能在比賽中得獎,將是對他們很大的鼓勵。比賽后總結得與失,為下一步的學習做準備。
6.教師需要增強自身建模意識和能力
數學建模的教學活動為學生提供了一個學習的過程,同時對教師也提出了更高的要求。每年的學生都在更替,但指導教師比較固定。當一個教師剛參加數模組時,他可能對該活動有很多不太了解的地方,但是隨著他的教學經驗和大賽指導經驗積累,他會成為在數模這一方向比較專業的人才,這其實就是學校的財富。
每年的競賽難度都在加大,以2012年A,B題為例,數據明顯增多,每題有四個小問題,對學生來說,要想在規定的時間完成是很吃力的,這就是“水漲船高”的現象。要想取得好成績,指導教師的水平就要大步提高。
我校除了定期在學校內部進行教師之間的學習交流外,還將教師派出參加短中期的培訓,提高他們的建模專業能力、領悟能力和組織能力。鼓勵他們參加數模教改活動和發表數模科研方面的文章。
數學建模算法與程序范文3
隨著新技術和新應用帶動數據爆發式的增長,大數據正逐步走進人們生活,并對傳統數學建模課程產生深刻的影響。近年來,在美國大學生數學建模大賽中,具有顯著大數據特征的賽題不斷涌現,以2017年A賽題為例,其關于贊比西河管理問題的解決涉及大量非結構化數據,特別是地理數據,對數學建模能力的考核已經不再表現為分析問題能力和數據執行能力的獲取,而是上述兩種能力的合取。2018年大賽甚至系統性地專門增加一個數據處理題以反映時代對這方面的要求。因此,在數學建模教學中,任何割裂分析問題能力與數據執行能力聯系的做法已經無法應對大數據對數學建模能力提出的挑戰。具體到教學改革上,需要我們分析好大數據型問題對數學建模課程的影響,對傳統數學建模的課程目標、課程內容、教學手段做出相應調整。
一、構建體現大數據特點的數學建模課程目標
課程目標是教學活動的指導思想,是課程設計的出發點和依托。因此,數學建模課程目標應順應大數據發展的要求進行相應調整,為構建與大數據處理相適應的,新的課程觀、課程目標、課程內容、課程結構和課程活動方式奠定基礎。
數學建模的主要目的是培養學生應用數學理論和知識解決實際問題的能力,而應用好數學解決問題的前提是建模時首先能正確地面對數據類型和關系,進行合理假設。人們在自覺和非自覺狀態下創造的大量非結構化數據和半結構化大數據,它們有些表現為傳統的數、表等結構化特征,有些則表現為諸如文本數據、音頻數據和視頻數據等現代非結構化數據和半結構化數據,多且雜亂。因此,在數學建模課程目標的設定上首先應體現數據結構的特點對調整數學建模課程目標提出的要求。
大數據具有5V特征,即Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。如,智能制造中設備產生的數據流實時、高速,這些高速數據通過通訊網絡快速與控制系統鏈接,數據流數量級的計算加速大幅提升數據處理與分析的效率,使得機器硬件性能得以充分挖掘,進而提升經營與管理的效益;其他如醫學掃描數據、天文數據、網站流量等,其具有低價值密度的特點。這些不同于以往數據的特征要求我們需要有新的數學建模課程目標與之匹配,這主要表現在數據觀、數據刻畫及數據表現等幾個方面。
傳統數學建模中,數據收集只能通過隨機樣本,利用少數的特征對總體的屬性進行統計推斷。在大數據時代,人們可以通過互聯網、即時通訊工具以及數據庫,獲取各種海量數據。因此,大數據背景下,全數據或海量數據成為樣本數據,即樣本就是總體,樣本就是大數據。
面對這樣的全樣本或海量數據,隨機抽樣有時僅表現為一種邏輯上的意義。而在大數據背景下,一方面,?稻菔占?過分地依賴技術手段,很難進行人為的精度控制;另一方面,數據無論在空間和時間方面,來源更加復雜,格式更加多樣,這就使得數據的前期清洗處理變得非常困難。由于存在系統性的偏差,很難將全部的雜質項從數據中萃取掉,在秉持“數據多比少好”的情況下,就得接受數據混亂和不確定性的代價。當然,在大數據中,忽略一部分模型的精確性,并不是說不要模型的精確性,而是指我們對于模型精確性的可控性在減弱。所以,新的數學建模分析應更加側重于發現海量數據下的各種關聯細節,這可以成為數學建模邏輯思維能力培養新的補充目標,從而使我們在知識與技能、過程與方法等維度上把握好該課程的教學。
隨著數據通訊技術,尤其是移動智能設備的普及發展,人們可以在任何時間和地點信息和獲取數據,數據的實時分析成為提高大數據分析效率的必由之路。與傳統數據相比,數據不再局限于一條條記錄,伴隨著大量由物聯網、傳感器等產生的圖片、視頻等非結構化數據的產生,實時分析需要學生掌握新的數據挖掘技術,并以集群、分割、孤立點分析及其他算法深入數據內部挖掘價值,從而實現處理數據量和處理數據速度的統一。
此外,數據倉庫、聯機分析和數據挖掘技術的不斷完善,推動著數據以圖形和圖像等可視化方式的執行,[1]展示數據、理解數據、演繹數據呼喚數據的可視化;從直方圖到網狀圖,從三維地圖到動態模擬,從動畫技術到虛擬現實,枯燥乏味的數據生動形象起來,爆炸性數據壓縮起來,這對于數學建模的數據輸出提出新挑戰。
二、構建兼顧大數據和信息技術特點的數學建模課程內容
數學建模本質上是一種數學實驗,人們在實驗、觀察和分析的基礎上,對實際問題的主要方面做出合理的假設和簡化,明確變量和參數,應用數學語言和方法,形成一個明確的數學問題,然后用數學或計算的方法精確或近似地求解該數學問題,進而檢驗結果是否能說明實際問題的主要現象,能否進行預測。這樣的過程多次反復進行,直到能較好地解決問題,這就是數學建模的全過程。
大數據的處理也有自身的步驟,一般來說可以分為6個不同階段:(1)存儲管理階段,它實現了多維數據的聯機分析;(2)數據倉庫階段,它解決數據整合集成問題;(3)聯機分析階段,它實現數據存儲管理和快速組織;(4)數據挖掘階段,它實現探索性分析,發現數據背后模式和有用信息;(5)輔助決策階段,它綜合運用數據倉庫、聯機分析和數據挖掘,實現結果;(6)大數據分析,它實現非結構化數據、海量數據、實時數據的分析。
因此,面?Υ笫?據,如何實現上述兩者的有機融合,必然需要注意新數學建模各階段表現出的新的特點,如在實驗、觀察階段,樣本數據收集的信息化與自動化,海量信息和全樣本數據成為分析常態。在問題的數學刻畫階段,相關分析可以作為進行模型分析之前數據探索的一個手段,這是因為由于數據的結構復雜,變量眾多,數據體量大,有時候很難用一個“普世”函數描述出變量之間的準確關系,在無法綜合評價出變量之間關系的情況下,我們可以部分揭示出變量之間的關系。事實上,由于相關分析無需太多模型假設,運算成本較低等眾多原因,使得相關關系的分析成為了大數據分析的基礎。[2]在模型驗證階段,以數據為中心的非普世和精確化的數學模型往往可以得到海量信息和全樣本數據的支撐等。
因此,在數學建模課程內容架構中,應兼顧大數據和信息技術的特點,逐漸改變數據挖掘技術在數學建模教學上輔的作用,將有關計算機和信息技術的教學很好地落實到課程計劃、課程標準和教科書中。如在教學中,可以增加通過“網絡爬蟲”程序直接抓取互聯網數據的內容;從傳感器、云端直接獲取智能制造中現實數據的方法;將并行處理數據的思想引入建模教學;加強相關分析的內容教學等。所有這些可以讓計算機的數據采集能力和數據處理能力成為變量間邏輯關系探索、復雜模型構建的有力工具,推動人們對數學建模的認知。
三、強化數學建模中的軟件教學
首先,強化數學軟件的教學。常見的數學軟件有Matlab、Mathematica,Lingo,SAS、SPSS、Eview、
R、Python等,它為計算機解決現代科學技術各領域中所提出的數學問題提供求解手段。
其次,加強數學算法的介紹。常見的數學算法包括運籌學類的算法、概率分析與隨機算法、時間序列算法等,其他的如十大經典算法等。
另外,對于以往建模中的數據處理,人們更習慣運用SPSS、Eview等這類封裝好的、以體驗式為主的方式進行,然而,相比于機械的拖拽軟件分析數據,編程分析更加靈活,因為,編程使數據處理無論在體量上,還是在方式的靈活度上,更有利于激發數據分析者的主動性和創造性,因此,能夠駕馭軟件編程的教學應是更高的數學建模課程的要求。
當然,大數據處理也還有其他特殊的技術,如大規模并行處理數據庫、分布式文件系統、分布式數據庫、虛擬化和內存計算等,其中,大規模并行數據處理運用的hadoop技術,內存計算的hana工作原理等在教學過程需要予以關注。
數學建模算法與程序范文4
關鍵詞:高等數學;建模思想;思維訓練
創造力作為創造性思維的核心,對提升學生創造性思維,發展創造能力具有重要作用,它不僅是現代教育的歸宿和出發點,同時也是全面進行現代教育的具體要求,而課堂教學則是素質教育的實施渠道。因此,在課堂教學中,不僅要充分展現學生的主體地位,還必須優化數學模型,進行思維訓練。
一、數學建模的意義
數學必須整合現代教學內容,根據問題設置、創建模型、解釋、應用和拓展的模式進行教學。在大學高等數學應用中,數學建模主要表現為簡化、提煉、確立、驗證、求解、應用和拓展。因此,在數學建模中引導學生思考,通過對相關信息進行轉換、加工,不斷激活知識經驗,并且對問題進行分析。在這兒之所以不能將模型簡單的既定的算法或者對思維程序進行復述、記憶和應用,而是過程中,數學模型不僅為其提供了途徑,同時也為其提供了應用、解釋的機會,合理、靈活地選用解決問題的方法。
二、利用數學建模進行思維訓練
高等數學作為大部分高等院校的專業課,同時也是深入其他專業課的基礎。隨著數學在各個學科中的應用增強,為了更好地適應環科、地理等專業的要求,在數學建模中,必須注重相關概念的實際意義,不是片面的追尋抽象性,在理論實際應用的同時,根據實際操作和計算方法,幫助學生打開思維。例如:在導數與微分這個章節學習中,我們可以根據導數的定義,導數與導函數的物理意義與幾何意義,連續性與可導性之間的關系,以及求導法則、微分的概念,了解高階導數以及簡單函數的n階導數,這樣就能讓導數與微分學習成為一個系統的學習框架,在保障學習成果的同時,幫助學生開拓思維。又如:在多元函數微分法和應用中,可以結合多元函數、偏導數、全微分、方向導數,對多元函數微分學以及泰勒公式和極值進行分析,這樣不僅能讓學習過程生成關系網,還能加深學習印象,讓知識成為相互聯系的支點與焦點。具體如:在進行函數y=x/x2+3x-2,求它對應的曲線有多少條漸近線,通過數學建模,我們能很快地得到有3條漸近線。
數學建模作為高等數學教學重要的教學方法,對提高教學質量,保障教學效率具有重要作用。因此,在實際工作中,必須根據教學目標以及特點,將相關內容有機地結合起來,在形成關系網時,才能更好地幫助學生發散思維。
參考文獻:
數學建模算法與程序范文5
關鍵詞:GIS;GIS模型;GIS建模;
引言:GIS是地理信息系統(Geographic Information System)的簡稱,是一種在計算機軟硬件支持下的空間數據輸入、存儲、檢索、運算、顯示、更新和綜合分析的應用技術系統[1]。經過三代軟件的改進,形成了圖像處理功能強大、支持大型數據庫的信息系統平臺。而GIS模型與建模作為其中的重要組成部分已經成為了現在學者主要研究的方向,本文主要針對GIS模型與建模提出了一些基本元素的使用方法和介紹,為后續研究提供基礎資料。
一、 GIS建模的分類
GIS用戶所用的許多模型是很難進行分類的。例如,于海龍等根據目的、方法論和邏輯學對模型進行分類。但其界限在他們的分類標準之間并不總是那么明確。本文不是提出一個詳細的分類,而主要的目的對模型進行大致歸類[2]。
模型可以是描述的或者規則的。描述模型描述空間數據的現有情況,而規則模型則對將會出現的情況提供預測。
模型可以是確定的或者隨機的。確定模型和隨機模型都是用參數和變量的方程式來表示的數學模型。隨機模型考慮一個或更多的參量或者變量的隨機性,而確定模型則不然。作為隨即過程的結果,隨機模型的預測有可能出現錯誤或不確定的測量,通常用概率表示。
模型可以是靜態的或者動態的。動態模型強調變量之間空間數據和相互作用的變化,而靜態模型則涉及特定時間里空間數據的狀態。在動態數據里,時間對于顯示變化過程是很重要的[3]。
模型可以是推論的或者歸納的。推論模型展示的結論是來自于特定的前提條件。這些前提條件通常是以科學理論或自然規律為基礎的。歸納模型展示的結論是來自于實驗數據和觀察報告。
二、 建模過程
模型的建立要遵循一系列的步驟。
第一步,明確建模目的。這類似于一個研究問題進行定義。模型想模擬什么現狀,為什么必須建立這個模型以及合適的時空尺度。
第二步,把模型分解成各種元素,然后用概念定義各種元素的屬性和他們之間的相互作用框圖。
第三步,模型的應用與校準。建模者需要用數據去運行并校準模型。模型校準是一個重復的過程,不斷地比較模型輸出的數據與觀察結果之間的差異,調整各參數的數值,然后再運行模擬。
經過校準的模型可以用做預測,但一個模型在被廣泛接受之前必須經過驗證過程。模型驗證過程就是評價模型的穩定性,即對不同于校準條件下的預測結果作出評估。
三、 GIS在建模中的作用
GIS在建模過程中有如下幾個方面的內容。
第一,GIS是一個能夠加工、顯示和集成不同數據源的工具,這些數據源包括地圖、數字高程模型、全球定位系統數據、影響和表格等。
第二,用GIS建立的模型可以是基于矢量或基于柵格的。其選擇取決于模型的本質、數據源和算法。
第三,基于柵格和基于矢量的模型的差別并不排除建模者在建模過程中對兩類數據的綜合。
第四,GIS建??梢栽贕IS環境中進行,或者需要GIS與其他計算機程序的鏈接。許多GIS軟件包,如ArcGIS、GRASS、IDRISI、ILWIS、MFworks和PCRoster,都有用于建模的廣泛的分析功能。
四、GIS與其他建模程序的結合
把GIS連接到其他計算機程序,有三種情況[4]。建模者在建模過程中可能三種都會遇到,這取決于所要完成的任務。
松散聯結涉及數據文件在GIS與其他程序之間的傳送。例如,你可以從GIS導出數據到統計分析軟件包中運行,也可以把來自統計分析的結果導入GIS實現可視化或顯示。在這種情形下,建模者必須創建和調整要導出或導入的數據文件,除非在GIS和目標計算機程序之間已經建立了接口。緊密聯結提供了GIS和其他程序的共同用戶接口。例如,GIS有一個菜單選項用來運行一個土壤侵蝕程序。嵌入系統是通過共享存儲器和共同接口把GIS與其他程序捆綁在一起的。ArcGIS的地理數據分析擴展功能就是一個把地理數據分析功能與GIS環境捆綁在一起的例子。
參考文獻:
[1]梁紅蓮,劉登忠.GIS應用現狀及發展趨勢探討.物探化探計算技術.2001.
[2]于海龍,鄔倫,劉瑜,李大軍,劉麗萍.基于Web Services的GIS與應用模型集成研究.測繪學報.2006,35(2):153-159
數學建模算法與程序范文6
虛擬現實技術是指利用計算機技術創造虛擬的環境和人物,這些環境和人物“看”起來,“聽”起來,甚至“摸”起來和真的一樣。相比建模技術而言,計算機仿真技術側重于刻畫事物或系統隨時間或環境的變化而變化的過程。
計算機仿真技術可以用來增強虛擬環境的“沉浸感”和“逼真性”。比如,在虛擬的計算機環境中仿真出各種逼真的物理效應。物理效應包括人體運動、水流、煙霧、火以及物體之間的碰撞和爆炸等。根據這些物理規律,人們可以建立它們的抽象數學模型并采用偏微分方程數值求解技術計算它們隨時間變化的動態過程,并通過計算機圖形的渲染技術將這些物理效應在計算機屏幕上呈現出來。使用仿真方法模擬出的許多物理效應可以達到觀看者無法判斷是計算出的還是真實拍攝的地步,從而可以使用戶沉浸在計算機展示的虛擬環境中。
五個階段
在中學時我們就遇到過這樣的問題: 已知子彈離開槍口的速度,在不考慮空氣阻力的情況下求解子彈的運動軌跡。實際上這個問題可以看做是一個簡單的計算機仿真問題,我們可以利用經典的牛頓力學模型來描述子彈的運動過程,再根據初始條件和微積分思想設計數值求解算法,求解該問題。
簡單說來,計算機仿真技術就是采用數學工具建立描述事物或系統變化規律的數學模型或物理模型,并設計數值計算方法求解模型參數,以及事物或系統在給定初始條件下隨時間的變化情況或者是在不同的邊界條件下系統狀態的變化。
一般而言,計算機仿真需要經過建模、編寫計算程序、運行程序進行實驗、分析實驗結果、修改和完善模型這五個階段。建模的階段就是對待仿真的事物或系統分析其主要因素,忽略次要因素,分析主要因素之間的定量關系,并用數學語言描述出來。根據得到的定量關系和已知變量采用數學方法找出計算未知變量的算法。根據求解未知變量的算法編寫計算程序,然后在計算機上運行程序,觀察在不同輸入數據情況下系統的變化。最后根據實驗結果分析模型的準確性。
如果實驗結果和實際情況不符合,那么回到建模階段檢查,是否誤將主要因素忽略、主要因素之間的定量關系是否準確。然后根據修改的模型在再進行仿真實驗,直到計算結果和觀察所得的實際情況相符為止。
根據被研究系統的特征又可以將仿真系統分為兩大類: 連續系統仿真和離散事件系統仿真。連續系統仿真是指對那些系統狀態變量隨時間連續變化的系統的仿真研究。這類系統的數學模型包括連續模型(微分方程等),離散時間模型(差分方程等),以及連續-離散混合模型。離散事件系統仿真是指對那些系統的狀態只在一些時間點上由某種隨機事件的驅動而發生變化的系統進行仿真實驗。這類系統的狀態量是由事件的驅動而變化的,在兩個時間之間狀態量保持不變,因而是離散變化的,稱之為離散事件系統。
應用范圍
通常,計算機仿真技術用在如下幾種情形。
1. 對系統進行真實實驗的代價高昂。比如在汽車工業中需要對新型的汽車做碰撞實驗,檢測其安全特性??蒲腥藛T根據材料力學、碰撞力學等知識對碰撞過程建立物理模型,然后利用計算機仿真計算在不同碰撞條件下汽車的碰撞效果,并根據仿真的碰撞結果來改進汽車的設計。
2. 系統的實現只有一次機會,比如大壩的建造。因此需要在設計過程中對大壩以及相應的地質情況、水文情況建立較為準確的模型,然后計算不同設計方案中大壩的承載能力、抗震能力等數據,最終挑選出一個合理的設計方案。
3. 需要預測系統在未來的變化,比如2008年奧運會期間的天氣情況。首先,需要建立大氣動力學模型,然后利用往年的天氣資料確定模型的一些系統參數,并把在計算機上運算該模型以驗證模型的準確程度,最后利用該模型預測2008年奧運會期間的天氣情況。
計算機仿真本質上是對物理對象建立數學模型,然后通過數學方法分析物理對象中的性質、預測物理對象隨時間的變化情況。因此計算機仿真在航空航天的設計制造、天氣預報、交通模擬等領域中得到了廣泛應用。
一個人體運動仿真的例子
虛擬人是虛擬環境中一個很特殊的對象。他和其他對象不同之處在于人是一個主動個體,他的行為不僅由物理規律還由人的意識決定。比如從房間的這一端走到那一端,不同的人有不同的行走路線,人在高興或者悲傷的時候面部表情、姿態都有很大的差異。為了把這些不同的行走姿態仿真出來,人們綜合了生物力學、控制論、數值優化等技術,但是即便如此,還不能完全解決這個困難的仿真問題。另外大規模人群行為的仿真也是目前研究的熱點問題,它不僅要考慮單個人的仿真問題還需要考慮人與人之間的相互作用和影響對仿真結果的影響。
我們在人體運動仿真方面研究了人體空中運動的仿真,圖1中黃色代表一個初始的前空翻運動,該運動是手工編輯出來的。綠色代表一個仿真的運動,該運動比原始運動更逼真。圖2從左右視角和腳尖的軌跡對比兩個運動。
圖1 仿真運動(綠色)和初始運動(黃色)的對比圖
圖2 從左右兩個視角觀察運動,圓點表示有腳尖的運動軌跡
虛擬現實技術可以將復雜的數值計算過程變成一個可以“看”得見的推演過程,即一個可信的計算過程,使結果直觀可信。因此,在虛擬環境中開展計算機仿真技術研究是一項重要內容。
鏈接:幾款優秀仿真軟件
由荷蘭國家應用科技研究院TNO開發的MADYM多剛體動力學分析軟件將有限元融入多剛體系統分析中,成為了一個多剛體與有限元結合的數學模擬軟件。該軟件中有全世界最好的機械假人的數學模型,已成為汽車碰撞安全性設計的工業標準。