- 相關(guān)推薦
matlab學(xué)習(xí)心得體會
當(dāng)我們經(jīng)過反思,有了新的啟發(fā)時,可以記錄在心得體會中,這樣有利于培養(yǎng)我們思考的習(xí)慣。那么好的心得體會是什么樣的呢?以下是小編整理的matlab學(xué)習(xí)心得體會,歡迎大家借鑒與參考,希望對大家有所幫助。
matlab學(xué)習(xí)心得體會1
最近在學(xué)習(xí)matlab,一直不入其法門。從網(wǎng)上看到了一些大蝦的經(jīng)驗(yàn)心得,感觸頗深,轉(zhuǎn)貼過來,希望給初學(xué)者有一定的指引。
一)寫給學(xué)習(xí)matlab的新手們
本人接觸matlab已經(jīng)有5年多的時間了,一直想寫點(diǎn)東西,但是之前不知道放在哪里才能發(fā)揮它的最大作用,直到幾天前碰上了這個論壇(有點(diǎn)像諸葛亮遇見姜維,哈哈)。
廢話不說,我想借貴論壇寶地,寫一些經(jīng)驗(yàn)給使用matlab的新手們,當(dāng)然了,老大們也可以看看,不嫌棄我寫得粗糙的話還可以指點(diǎn)一下,先謝過了~~~~
首先我想說的是,matlab跟其他語言不一樣(我用的比較多的編程語言,除了matlab就應(yīng)該是c或c++了,VB和Delphi也接觸過,我想版面(matlab版)大部分人也差不多),如果你抱著“把其他語言的思想運(yùn)用在matlab里面”的話,那么我想,即使程序運(yùn)行不出錯,也很難把握matlab的精髓,也就很難發(fā)揮matlab的作用了。所以,如果你是希望matlab作為VC的附屬品,即你不想在matlab上面花太多功夫,只純粹想用matlab來完成VC做不了或很難做成的任務(wù)的話,那么,這篇文章你也不需要再閱讀下去了;如果你是希望掌握一門語言、一個工具,使它更有效為你服務(wù)的話,那么,希望本文對你有所幫助。
Matlab是一個基于矩陣運(yùn)算的軟件,這恐怕是眾所周知的事情了,但是,真正在運(yùn)用的時候(就是在編程的時候),許多人(特別是初學(xué)者)往往沒有注意到這個問題,因此,for循環(huán)(包括while循環(huán))滿天飛…………..這不僅是暴殄天物(沒有發(fā)揮matlab所長),還浪費(fèi)了你寶貴的時間。對此,版友MVH在他的“MATLAB小技巧”一文中也有所涉及,雷同的東西我也就不重復(fù)了,matlab的“幫助”里面也有相關(guān)的指示。我這里想說的一點(diǎn)是,初學(xué)者往往在初始化矩陣的'時候注意到這個問題,懂得了使用矩陣而不是循環(huán)來賦值,但是,在其他環(huán)節(jié)上,就很容易疏忽,或者說,仍然沒有擺脫C++的思想。舉個例子吧,下面的代碼是我的一個師弟寫的,我想他接觸matlab也有2、3年時間了(在此說明一下,接觸2、3年并不是表示每天都會跟matlab打交道,我本人也不是,只是在一年某幾個時間段里面連續(xù)使用),但是仍然會出現(xiàn)類似的問題:
J=0;
lt=size(imf1,2);
for(i=1:lt)
if(abs(imf1(i))>1)
J=1;
break
end
end
上面的代碼實(shí)現(xiàn)了一個目的――檢查信號imf1(一個向量)是否存在絕對值大于1的點(diǎn),這顯然是基于C++的思想寫出來的。如果在matlab下面,其實(shí)用兩個語句就足夠了(當(dāng)然,可以合并為一個): q=find(imf1>1);
J=~isempty(q);
這樣的修改帶來的好處是很可觀的。
又如:
forj=1:num
imf1(start1+j)=2*li1(j+1)-imf1(start1+j);
end
這是一個對稱翻折的問題,它完全可以用以下這個語句簡潔表示:
imf1(start1+1:start1+num)=2*li1(2:num+1)-imf1(start1+1:start1+num);
因此,如果是新手,可以先用循環(huán)(基于C++的思想)來編寫代碼,然后看看能否用matlab的語言(基于矩陣的思想)來改進(jìn)。當(dāng)然,這樣做的前提是你對matlab提供的一些函數(shù)比較熟悉才行,這些函數(shù)在matlab的“幫助”那里搜索“FunctionsUsedinVectorizing”就可以找到一些,其他的也可以找相關(guān)的書籍(沒找到?不可能,電子版總可以下載到的)
對提高matlab編程能力的方法,我想主要有以下三個:
1.查help
2.多上上論壇,搜索帖子、發(fā)帖子問人
3.閱讀別人、特別是牛人的程序
當(dāng)然了,正如所有的程序語言一樣,“3分課本7分上機(jī)”,一定要動手才行,不能光看。多想、多思考、多嘗試,才是正路。
最后,整理一下常用的快捷鍵(用【】表示)或命令:
1.在命令窗口(CommandWindow)中:
1)【上、下鍵】――切換到之前、之后的命令,可以重復(fù)按多次來達(dá)到你想要的命令
2)clc――清除命令窗口顯示的語句,此命令并不清空當(dāng)前工作區(qū)的變量,僅僅是把屏幕上顯示出來的語句清除掉
3)clear――這個才是清空當(dāng)前工作區(qū)的變量命令,常用語句clearall來完成
4)【Tab】鍵――(轉(zhuǎn)自版友心燈)在[email]matlab@hit.edu.cn[/email]看到的:在command窗口,輸入一個命令的前幾個字符,然后按tab鍵,會彈出前面含這幾個字符的所有命令,找到你要的命令,回車,就可以自動完成。目前討論結(jié)果是:matlab6.5版本中,如果候選命令超過100個,則不顯示。而在matlab7以后版本中,則沒有這個限制,均可正常提示
其余的例如在Debug狀態(tài)下的快捷鍵就不多說了,自己看菜單Debug吧
累了,有時間再寫吧。希望大家多交流~~~~~~
Coming:(以下東西都是一年前做的了,不知道能否記起,呵呵)
1)關(guān)于神經(jīng)網(wǎng)絡(luò)的――調(diào)用matlab的nntool命令后的使用問題(我做的時候沒有看過其他書籍或資料,是自己閉門造車的結(jié)果,如果寫之前發(fā)現(xiàn)其他書籍有相關(guān)介紹的話就不寫了)
2)關(guān)于外部接口的――matlab與C++Builder的接口,想詳細(xì)介紹如何利用matcom4.5在C++Builder中調(diào)用matlab的代碼以及matcom的一些技巧。由于我不是搞項目開發(fā)的(搞科研、搞課題的),所以對VC不熟悉,大學(xué)的時候?qū)W過一點(diǎn),不過我想對于搞科研來說C++Builder就足夠了,免去很多麻煩,Builder在界面設(shè)計和數(shù)據(jù)庫連接上面(我只接觸過這兩方面)還是做得不錯的。同樣,如果發(fā)現(xiàn)其他書籍上有類似的東西就不寫了
3)GUI方面也寫寫吧,只是一點(diǎn)點(diǎn)心得或者體會,呵呵,這個相對簡單些,篇幅相對要少些。
matlab學(xué)習(xí)心得體會2
這是我在學(xué)習(xí)的過程中的一些技巧,或許對你有幫助,可能字?jǐn)?shù)不你能滿足你的要求,但是絕對是精華。
1,如果你要是不是計算機(jī)轉(zhuǎn)業(yè)的,只是為了方便自己的工作或?qū)W習(xí),那么你沒有必要把matlab教程全部學(xué)會,只需要學(xué)你需要的那部分即可,比如,繪圖,矩陣運(yùn)算,等等,根據(jù)你個人的需要而定,但是基本命令、數(shù)據(jù)類型、基本的程序結(jié)構(gòu)(條件語句,循環(huán)語句,嵌套)、文件的io是必須看的,因?yàn)槿魏我粋程序都需要這幾個基本的塊。
2,你最好找一個熟悉編程的人來輔助你的學(xué)習(xí),這就包括很多編程的技巧問題,程序的結(jié)構(gòu)設(shè)計問題,對于程序的運(yùn)行效率非常有幫助。有的時候,你編出來的程序,能夠運(yùn)行,但是耗時太長,也就是說你的程序沒有錯,但是不適合實(shí)際;蛘哒f,對于規(guī)模小的問題能夠解決,但是規(guī)模大一點(diǎn)的問題就需要很長很長的時間,這就需要對程序的.結(jié)構(gòu)和算法問題進(jìn)行改進(jìn)(親身體會,編完一個程序,小的例子可以運(yùn)行出結(jié)果,但是大例子需要很長時間,所以必須要改進(jìn)一下)。
3,你需要找一本matlab的函數(shù)工具詞典,就像漢語詞典一樣,你要盡量多的熟悉matlab自帶的函數(shù),及其作用,因?yàn)閙atlab的自帶函數(shù)特別多,基本上能夠滿足一般的數(shù)據(jù)和矩陣的計算,所以基本上不用你自己編函數(shù)(如vb中,大部分的函數(shù)都需要自己編)。這一點(diǎn)對你的程序非常有幫助,可以使你的程序簡單,運(yùn)行效率高,可以節(jié)省很多時間(親身體會)。切記!!!
4,你把基本的知識看過之后,就需要找一個實(shí)際的程序來動手編一下,不要等所有的知識都學(xué)好之后再去編程,你要在編程的過程中學(xué)習(xí),程序需要什么知識再去補(bǔ)充(這一條是別人教我的,很管用),編程是一點(diǎn)一點(diǎn)積累的,所以你要需做一些隨手筆記什么的。
5,編程問題最頭疼的不是編程序,而是調(diào)程序,所以在你的程序編完之后,一定要進(jìn)行驗(yàn)證其正確性,你要盡量多的設(shè)想你的問題的復(fù)雜性,當(dāng)然,要一步一步復(fù)雜,這樣才能保證你的程序的適用性很強(qiáng)。
隨筆寫了這么多,可能不全,希望對你有幫助!!
matlab學(xué)習(xí)心得體會3
學(xué)習(xí)matlab是聽說它是一個功能強(qiáng)大的數(shù)學(xué)軟件,但是正被微積分的計算纏身,聽說有一個高級的計算器當(dāng)然高興,以后可以偷懶了,當(dāng)然現(xiàn)在不能偷懶。聽說關(guān)于自動化的計算特別復(fù)雜,如果有一種軟件能幫忙解題,那是一種極大的解脫,有益于縮短研究時間。目前我只知道有三種數(shù)學(xué)軟件,都是國外的`,沒有國內(nèi)的,差距挺大的。matlab學(xué)起來挺順手的,比c語言簡單。但是深入學(xué)習(xí)的時候卻困難重重,因?yàn)楹芏嘀R都沒有學(xué)習(xí),就算知道那些函數(shù),也沒有什么用處。老師布置的作業(yè)難度大,寫一篇實(shí)驗(yàn),大一什么都不會,寫一篇這種論文談何容易。最多也就會一些數(shù)值計算、符號計算、簡單繪圖,根本不會什么實(shí)驗(yàn)。
學(xué)習(xí)matlab體會最多的是這個軟件的功能強(qiáng)大,好多數(shù)學(xué)題都被輕易的解出。但是有一點(diǎn)遺憾,不知是我不會用,還是它沒個功能,已知空間的電荷分布,求空間的電場分布。其中電場分布是無法用函數(shù)表達(dá)式表示。我知道計算機(jī)肯定可以實(shí)現(xiàn),但是這個軟件能不能實(shí)現(xiàn)就不知道了,我看過許多資料,但是在這方面沒有提到相關(guān)信息。
總之,這個軟件功能強(qiáng)大,不知什么時候國內(nèi)才有類似的軟件。
matlab學(xué)習(xí)心得體會4
matlab中有豐富的圖形處理能力,提供了繪制各種圖形、圖像數(shù)據(jù)的函數(shù)。他提供了一組繪制二維和三維曲線的函數(shù),他們還可以對圖形進(jìn)行旋轉(zhuǎn)、縮放等操作。matlab內(nèi)部還包含豐富的數(shù)學(xué)函數(shù)和數(shù)據(jù)類型,使用方便且功能非常強(qiáng)大。
本學(xué)期通過對matlab的系統(tǒng)環(huán)境,數(shù)據(jù)的各種運(yùn)算,矩陣的分析和處理,程序設(shè)計,繪圖,數(shù)值計算及符號運(yùn)算的學(xué)習(xí),初步掌握了matlab的實(shí)用方法。通過理論課的'講解與實(shí)驗(yàn)課的操作,使我在短時間內(nèi)學(xué)會使用matlab,同時,通過上機(jī)實(shí)驗(yàn),對理論知識的復(fù)習(xí)鞏固實(shí)踐,可以自己根據(jù)例題編寫設(shè)計簡單的程序來實(shí)現(xiàn)不同的功能,繪制出比較滿意的二維三維圖形,在實(shí)踐中找到樂趣。
matlab是一個實(shí)用性很強(qiáng),操作相對容易,比較完善的工具軟件,使用起來比較方便,通過操作可以很快看到結(jié)果,能夠清晰的感覺到成功與失敗,雖然課程中也會出現(xiàn)一些小問題,但是很喜歡這門課程。
matlab學(xué)習(xí)心得體會5
Matlab,提起它,不管我們上課是否認(rèn)真聽講了,我們都應(yīng)該對它不再陌生,我們不可否認(rèn)它的強(qiáng)大之處,正如一節(jié)課時老師給我們說的“Matlab可以做很多事情”。通過近一段的學(xué)習(xí),使我更加確信,它是一款集數(shù)據(jù)分析、矩陣運(yùn)算、信號處理和圖形顯示于一體,可方便地應(yīng)用于數(shù)學(xué)計算、算法開發(fā)、數(shù)據(jù)采集、系統(tǒng)建模和仿真、數(shù)據(jù)分析和可視化、科學(xué)和工程繪圖、應(yīng)用軟件開發(fā)等方面的強(qiáng)悍軟件,是研究人員、工程人員研究工作中 不可多得的工具。
正因?yàn)槠鋸?qiáng)大之處,以及可視性及可交互性使我對它的學(xué)習(xí)產(chǎn)生了濃厚的興趣。開學(xué)至今,短短十次課,我們學(xué)習(xí)了Matlab矩陣及其運(yùn)算、Matlab程序設(shè)計、M文件操作、M文件調(diào)試、M文件高級編程以及Matlab繪圖等??不敢保證每節(jié)課都認(rèn)真聽講,但都盡力去聽,一段時間下來,對Matlab還是有了一定的框架性認(rèn)識 及編程能力。但對于Matlab這樣的軟件來說,套用曾經(jīng)一個老師 說的話“我給你們講的都是皮毛,你們學(xué)到的更是皮毛中的皮毛”,雖然有點(diǎn)搞笑,但卻是不爭的事實(shí),學(xué)習(xí)軟件類的東西,最好的辦法就是激發(fā)興趣和多加練習(xí)。我想當(dāng)老師在課堂上給我們演示如何用Matlab編程解決一些實(shí)際問題以及編程出現(xiàn)一些絢麗豐富的圖形時,我們無不驚嘆其美麗,我想憑這一點(diǎn)激發(fā)起同學(xué)們的興趣是沒有問題的,但問題是同學(xué)們?yōu)槭裁催說它難學(xué)呢?關(guān)鍵還是在于同學(xué)們下課后缺乏鍛煉,加之每次課間隔時間較長,僅憑上課時記得的.東西,是很難連貫及熟練運(yùn)用的。
關(guān)于如何才能夠更好地學(xué)習(xí)好Matlab,通過下面同學(xué)們之間的交流,綜合同學(xué)及個人意見,提出以下幾點(diǎn)建議(純屬個人觀點(diǎn),如有不妥,還請見諒):
1、針對學(xué)習(xí)資料:
希望郵箱中上傳PPT文件標(biāo)清章節(jié)號,一來方便有興趣及精力的同學(xué)提前學(xué)習(xí),二來方便同學(xué)下來后及時按照章節(jié)復(fù)習(xí)。(注:尤其是對初學(xué)者由易到難的過程中顯得尤為重要)
2、針對上課學(xué)習(xí)
對于軟件類的學(xué)習(xí)存在這樣一個問題,那就是同學(xué)們上課挺感興趣得聽講,聽到入迷時恨不得立刻就找一臺電腦試一試,但下課后可能去忙其他事情,不一
會兒,這一份熱情就消退了,也不會再去練習(xí)。針對此,考慮到目前大多數(shù)同學(xué)都有電腦的情況下,我們是否可以讓同學(xué)們上課時帶電腦到課堂上,一方面老師在講臺上演示,另一方面同學(xué)們在下面即時練習(xí),這樣也許會收到更好地教學(xué)效果。
3、針對課下學(xué)習(xí)
本學(xué)期Matlab學(xué)習(xí),老師給的課下作業(yè)很少,也許老師考慮同學(xué)們比較忙,以及可能交上來的作業(yè)效果質(zhì)量達(dá)不到預(yù)期效果。但我認(rèn)為適量的課下作業(yè)還是非常有必要的,尤其是對于目前大學(xué)生普遍自制力較差的情況,這點(diǎn)顯得更加有意義。針對如何布置課下作業(yè)以及布置什么作業(yè),根據(jù)自身學(xué)習(xí)經(jīng)驗(yàn)認(rèn)為這樣比較好:課下作業(yè)可以布置那些上課老師演示過的程序或PPT中程序略加改動,讓同學(xué)們下課后及時完成上交。這不僅使同學(xué)們及時復(fù)習(xí)課上學(xué)習(xí)內(nèi)容,也不至于使那些學(xué)習(xí)效果不佳的同學(xué)認(rèn)為作業(yè)太難而直接放棄做去copy別人的。
以上即為近期學(xué)習(xí)Matlab的一些心得體會,限于學(xué)習(xí)的程度及能力有限,上文難免有認(rèn)識膚淺之處,懇請批評指正。
【matlab學(xué)習(xí)心得體會】相關(guān)文章:
Matlab用于發(fā)動機(jī)故障預(yù)報及Delphi對Matlab的調(diào)用12-08
matlab線性規(guī)劃11-08
matlab實(shí)訓(xùn)心得體會(通用11篇)03-20
LabVIEW與MATLAB混合編程10-01
基于MATLAB的ABS控制仿真研究12-12
VB與MATLAB混合編程探討10-01