



全文預覽已結束
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.MATLAB心得體會這學期開了MATLAB這門課程,這里面有太多的學問。只要書里面有最基本的語法和命令,對于一個有編程基礎的人,MATLAB可以在一個下午的時間內學會。當然,僅僅是學會。如果想要對MATLAB比較得心應手,那么最好的辦法就是練習。練習的素材很多,比如對于學經濟學的,可以做一些simulation之類的,也可以試著把計量或者宏觀教材里面的一些算法寫寫出來。一開始可能很慢,但是當你完成了一個比較大的project的時候,你的MATLAB的功力將會有巨大的提升。用MATLAB的無非是做數值計算或者最優(yōu)化,這也是MATLAB的強項,MATLAB有足夠多的工具解決這些問題。但是在使用這些工具箱之前,應該首先了解一些數值計算以及最優(yōu)化的理論。這一點在程序碰到問題或者計算結果不理想的時候尤為重要。很多時候結果不理想并不是自己的理論出了問題,而是盲目或者錯誤使用MATLAB的工具箱而導致的。比如我曾經做過一個單純形法的優(yōu)化程序,但是結果總是不理想,這個時候就要返回到單純形法具體是一種什么樣的來考慮這個問題,最后發(fā)現(xiàn)是由于目標的某一部分十分平緩導致的。當然更重要的是如果你不理解理論,很多問題根本不知道如何處理。有個學化學同學就曾問我一個程序怎么寫,說MATLAB肯定可以完成的。了解清楚之后才明白原來他想做的就是一個受限最小二乘。但是他不懂得什么是最小二乘,當然面對這個問題無從下手。這個問題沒有人強調,但我覺著蠻重要。這里的關鍵點其實很簡單,就是盡量減少重復計算,哪怕是多項式復雜度以內的計算。重復計算的內容應該適時保存到內存中,以后直接調用。一個程序可能會重復運行幾千次幾萬次,一點點的浪費時間都可能被放大很多??臻g(內存)我們是可以擴充的,但是時間不是,所以絕大多數時候我們需要放棄空間,獲得時間上的迅捷。這里有個故事,曾經在某技術論壇上看到的,說騰訊公司早期做的QQ實在太過垃圾,他們追蹤過QQ的行為,發(fā)現(xiàn)在幾分鐘時間里重復調用了某同一注冊表項幾百次。顯然注冊表的內容所占內存是有限的,甚至是可以忽略的,但是每次讀注冊表項可能都要讀硬盤,這里的時間花費是很大的,為什么不把這項內容直接存儲在內存里呢?但是卻多了三次計算時間。請問哪種好?不一定,看你的時間空間的權衡。但是具體到這個例子來說,第二種是不推薦的,因為:首先,第二種程序晦澀難懂,難以維護,內存不至于低到不能存儲一個變量;第二,如果兩個數字都特別特別大,計算a的時候會有溢出的危險。 我想幾乎所有學過的人都被這樣告誡過。比較好的是MATLAB自帶的編輯器本身就可以自動縮進之類的,程序十分易讀。但是還有一些東西是有些人不曾注意過的。比如變量名,一個好的變量名一定要有清晰的含義,讓人一看就能明白,否則日后的修改維護必然要花費更多的時間去識別這些變量名的含義。這一點可以參考 這里面詳細列舉了很多命名的規(guī)則和技巧。還有一點就是注釋。好的注釋可以極大的方便以后的維護以及代碼的重用。我的習慣是在代碼的開頭都要交代這個代碼是干什么用的,怎么用等等。在程序中一個大塊的功能模塊也要加上注釋告訴大家你在做什么。如果某個語句很復雜,可以加注釋告訴大家這句到底在干什么。這樣寫出來的程序維護起來或者他人使用起來將非常方便。另有一篇十分有趣的文章分享給大家:如何寫出無法維護的代碼 之所以叫做程序,是因為我們所做的工作就是告訴計算機要做什么,該怎么做。所以如果你的腦子里根本不知道這個問題該怎么解決的時候,你就更加無法寫出程序。找思路的一般方法是分解問題,然后逐個擊破。或者在特殊情況下,需要把問題轉化。分解與轉化的第一步是把實際問題轉化為數學問題。這一步可能已經做好,可能沒有。如果沒有,那么這一步就叫做數學建模。絕大多數問題都可以轉化為兩類問題,一類是最優(yōu)化問題,一類是求解問題。如果你能知道你在最優(yōu)化什么東西或者求解什么東西,問題就簡單很多。轉化問題的第二步是把數學問題轉化為程序。也就是說,你要想清楚這個問題是怎么一步步實現(xiàn)的。 這個過程可能很簡單,有現(xiàn)成的方法用,也有可能很復雜,還可能涉及多種轉化。比如我們經濟學中遇到的求解動態(tài)最優(yōu)化,經常要把連續(xù)的東西離散化。最后,考慮怎么把你的程序轉化為真實的代碼。這一步說簡單很簡單,因為只要你做好了以上兩步,這一步是順其自然的。但是當然會有很多小的細節(jié),也許這就是所謂的technique。但是我還是覺著。 應該是debug中最常用的工具。MATLAB的編輯器中可以很方便的實現(xiàn)在每一行的開頭有個小橫線,單擊一下變成紅點,然后就設置成斷點了。當程序運行到斷點之后就會中斷,然后會在主窗口顯示K的標志,這時你可以輸入命令查看內存情況等等。一步步的跟蹤,直到變量值跟你的預期不一樣,這時你就可以很容易的找到錯誤在什么地方發(fā)生了。 這個方法很簡單,離開你的電腦,找一個人,隨便什么人,說一遍你的程序的思路,說的越具體越好。多數情況下,你在闡述的過程中,程序的錯誤就會突然從你的大腦里冒出來了。如果實在找不到就找大街上的乞討人員吧
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年財務報表分析與決策考試試卷及答案
- 出生日期與就業(yè)情況證明(7篇)
- 格林童話中的英雄人物寫人作文(8篇)
- 我們的春游活動記事作文9篇范文
- 漁業(yè)養(yǎng)殖與農業(yè)生態(tài)循環(huán)協(xié)議
- 語言文學唐詩宋詞鑒賞題集
- 中國古代法律制度的演變
- 2025年現(xiàn)場顯示儀表項目立項申請報告
- 2025年會計職稱考試《初級會計實務》內部控制與審計復習題及答案解析
- 2025法語DELFB2級閱讀理解試卷:日常新聞解讀
- 安全產風險管理制度
- 深化國有企業(yè)改革調研提綱
- 公司個人獨資章程范本
- 《中國酒類企業(yè)ESG披露指南》
- 2025至2030年中國玉米淀粉行業(yè)市場現(xiàn)狀分析及前景戰(zhàn)略研判報告
- 2025年江蘇高考政治試卷真題解讀及答案講解課件
- 2025上半年山東高速集團有限公司社會招聘211人筆試參考題庫附帶答案詳解析集合
- 遼寧省點石聯(lián)考2024-2025學年高二下學期6月份聯(lián)合考試化學試題(含答案)
- 安徽省2025年普通高校招生志愿預填表(普通類)
- 2025屆北京海淀人大附八年級英語第二學期期末質量檢測模擬試題含答案
- T/CAPEB 00001.1-2022制藥裝備容器和管道第1部分:通用要求
評論
0/150
提交評論