MTALAB 精華貼摘錄

  真正接觸matlab一年左右,我很喜歡上了matlab的簡單的語法,易於繪製圖形,gui編程也非常容易, 並且功能強大的開放式的toolbox。 因此,儘管我一直沒有這方面的應用,但是我還是對它非常感興趣。 現將個人的matlab的一點學習體會列在這裏,願能夠對大家(特別是初學者)起到一點兒微薄的作用也好。 

1. help:最有效的命令(參閱了瀚海mathtools的 starrynight網友的文章) 
  
    其實,可以這樣說吧,如果離開matlab軟件,我想我自己是基本上什麼都不會。 一遇到什麼問題,通常我的第一反應是:help ,就先說說自己對help的一些常用方法吧。

    1)命令窗口直接敲“help”,你就可以得到本地機器上matlab的基本的幫助信息。 
    2)對於某些不是很明確的命令,只知道大體所屬範圍,譬如說某個工具箱,直接在命令窗口中敲入help toolboxname,一幫可以得到本工具箱有關的信息:版本號,函數名等。 
    3)知道函數名,直接用help funname就可以得到相應的幫助信息。

2. see also:不可小瞧的關聯 
   
    在用help命令的時候,可能因爲我們開始估計的方向不一定完全正確,在列出的幫助信息中沒有直接給出的我們要找的東西,但是我們一定不要忽略了在幫助的最後列出的see also。

    譬如:曾經遇到一個畫橢球的問題。剛開始我以爲這個命令函數應該在graph3d中給出的(順帶提一句,只用help的時候我們就可以看到matlabgraph3d  -  Three dimensional graphs. 。

    於是乎,我又help graph3d,很遺憾,在 Elementary 3-D plots.中我沒有發現畫橢球的函數,但是我發現在see also中有SPECGRAPH. 抱着試試的態度,我又help specgraph,^_^,這次在  Solid modeling中找到了ellipsoid  - Generate ellipsoid。

3. lookfor: matlab中的google 
   
    當我們很多什麼頭緒都沒有的時候,我們可以求助於它,往往會收到意想不到的效果。

    譬如:曾經在gui編程的時候,遇到過這樣一個問題:想拖動鼠標時,要出現一個方框,就像你在桌面上拖動鼠標,會出現虛線框一樣。 當初我也剛開始一定都不知道該查找什麼東西,後來想起用它了。於是乎>> lookfor Rectangle (很不好意思,當時這個矩形我還是在金山詞霸中搞定的-_-) 。果然,在其中就找到 這樣一條信息:GETRECT Select rectangle with mouse.^_^ 
 
4. get,set: GUI object 屬性的幫手 
   
    在GUI編程中,我們可能有時候想改變某些object的屬性,或者想讓它安裝自己的想法實現,但是我們又不記得這些object的屬性,更別提怎麼設置他們的值了。這時,可以用 get(handles)得到此對象的所有的屬性及其當前值。用set(handles)可以得到對象所有可以設置的屬性及其可能的取值。找到我們需要的屬性名字和可能的取值之後,就意義用 get(handles,‘propertyname’)取得此屬性的值,用set(handles,‘propertyname’,values)設置此對象此屬性的值。 
 
5. Edit: 查看m源文件的助手 
  
    在應用matlab過程中,可能我們想看看它的m源文件,當然用editor定位打開也行,但是我經常採用的式直接在command窗口中用edit funname.m,就省去了定位的麻煩。 
 
6. 其他常用命令:which,what等 
  
    which:定位指定的函數和文件,最好帶上參數-all,以便顯示更加多的信息
    what: 獲得指定目錄的m文件,mex文件以及mat文件名列表 
 
7. 各個高校bbs的mathtools版 
 
    誰都不可能什麼都懂,但是永遠記住這樣一句話:Two heads are better than one. 多向他人請教,多相互討論,這不只是在於解決matlab的問題上。  

    我最經常去的bbs有

8. 一些專業網站

    我所知道的有:

最後一條,要大膽的去試,哪怕只有一丁點兒可能。 
     
    譬如,早些時候,有朋友問我:我用什麼命令可以查找所建立網絡的屬性的含義,比如說:我建立網絡net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');想看看net.trainParam。lr_inc屬性是啥含義用什麼命令查看呢?

    當時,我根本連練習都沒有用matlab的神經網絡工具箱的東西練習過。我help newff也沒有結果,後來實在沒有辦法,就試着help參數值traingda,沒有想到還居然真的就找到答案了。

    還有,曾經有朋友想把waitbar的默認顏色的紅色改掉,我用help 沒有發現可以改變其填充色的property,後來我看了waitbar.m,發現其填充色本來就不試一個可變參數,但是既然發現了是什麼地方,就可以自己改變的,這都得益於matlab的開放性。這也爲我們提供了很大的靈活性(在他的基礎上,我們可以做很少的變換,就自己寫一個填充色可以以屬性輸入而改變的waitbar的) 
 
    最後,matlab只是一個很好的應用工具而已,也不像vc,delphi,vb等開發工具,最多的還是應用於算法的驗證,仿真等。我們應該的是儘可能的知道一點兒基礎的,然後熟悉本專業的toolbox。(可惜,我現在一直沒有這樣的實際應用機會) 

以上摘自:http://www.scuec.edu.cn/jsj/zidonghua/article/2006/1122/article_369.html

常用的快捷鍵(用【】表示)或命令:
1. 在命令窗口(Command Window)中:
1) 【上、下鍵】――切換到之前、之後的命令,可以重複按多次來達到你想要的命令
2) clc――清除命令窗口顯示的語句,此命令並不清空當前工作區的變量,僅僅是把屏幕上顯示出來的語句清除掉
3) clear――這個纔是清空當前工作區的變量命令,常用語句clear all來完成
4) 【Tab】鍵――(轉自版友心燈)在[email protected]看到的:在command窗口,輸入一個命令的前幾個字符,然後按tab鍵,會彈出前面含這幾個字符的所有命令,找到你要的命令,回車,就可以自動完成。目前討論結果是:matlab6.5版本中,如果候選命令超過100個,則不顯示。而在matlab7以後版本中,則沒有這個限制,均可正常提示
5) 【Ctrl+C】(或【Ctrl+Break】)――(轉自版友yangjin_ren)在matlab程序運行過程中,可能由於程序編寫的失誤,導致程序不停的運行,在命令窗口輸入“Ctrl+C”可以將運行的程序停下來,而不需要將整個Matlab程序關掉。不過進行此操作的前提是能夠激活切換到命令窗口才行,呵呵。
2. 在編輯器(Editor)中:
1) 【Tab】(或【Ctrl+]】)――增加縮進(對多行有效)
2) 【Ctrl+[】--減少縮進(對多行有效)
3) 【Ctrl+I】--自動縮進(即自動排版,對多行有效)
4) 【Ctrl+R】――註釋(對多行有效)
5) 【Ctrl+T】――去掉註釋(對多行有效)
6) 【Ctrl+B】――括號配對檢查(對版本6.5有效,但版本7.0無效,不知道是取消了還是換了另外的快捷鍵,請大牛們指點,其他版本沒有測試過)
7) 【F12】――設置或取消斷點
8) 【F5】――運行程序
以上摘自:http://bbs.matwav.com/post/view?bid=12&id=620399

發佈了38 篇原創文章 · 獲贊 11 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章