論壇上經常出現一些“跪求什么計算的源代碼之類”,暫且不說這樣有失人之尊嚴,另一個角度看這樣的網友對待提問極不認真,等跪完了要了代碼就不認娘了,再也見不到蹤影,我一般不會理會這樣的問題。 關于數值計算的編程,在沒有入門之前,確實是很痛苦的事,如何入手的呢?首先要明確自己要計算的什么問題。分析問題涉及的理論公式、離散公式、邊界條件、激勵條件、要觀察的量等幾個方面入手,每一個方面搞清楚了,也就對自己的問題明白了大半。這個階段暫不考慮編程代碼的問題,如果邊分析邊想計算代碼的編寫,對沒有豐富經驗的人來說,會把自己弄糊涂,反而不利于問題的分析。 其次分析問題各方面的聯系,一個計算問題會涉及方方面面的內容,是有機的整體,即使少分析最簡單的一個方面或相關聯參數也不行,整理每個問題間的邏輯關系,和它們處理的先后順序,最好寫一個計算問題的邏輯圖(流程圖),便于理順問題。 然后才是編寫代碼,計算代碼的編寫與上面問題分析相對應,每個方面的問題對應一段代碼。可能代碼的書寫是初學者頭痛的,其實計算代碼書寫很簡單,會懂基本的變量定義、判斷語句、循環語句等基本編程語言就可以了,再多一點就是函數定義,這些只要10分鐘就把以前學編程語言復習一遍即可。開始寫代碼,思路是:把分析問題的某個方面涉及的變量先都定義出來,然后根據算法,寫出計算代碼,在寫計算代碼時,以前沒有考慮到的變量、算法、關聯的東西再進行添加、修正。每一部分進行編寫,最后連接起來。 最后是代碼調試,任何編程都需要調試,程序是調試出來的,不是寫出來的。很多人剛寫完代碼就認為完成,出了問題就大叫不行了。要學會編程工具提供的調試手段,調試的目的是找到問題所在,一般是一步步運行,查看當前計算變量的變化情況,分析是否與自己的預期結果是否一致。調試代碼是苦差事,但這也是提高編程水平的必要過程。大家要有耐心做好計算代碼的調試工作。 還有,大部分人一說起編程,就抱起一大堆的書去啃,其實就像上面所說的,剛寫時并不需要太多的編程知識,就可以寫了。編程有一個重要的特點,程序功底是鍛煉出來的,不是照本宣科學出來的。邊寫代碼邊學習、積累編程知識和經驗,都是靠自己去領悟的,有編程的機會就要去實踐,上機編寫調試,代碼編寫水平自然會提高,編程是沒有捷徑的。 |