欧洲免费无码视频在线,亚洲日韩av中文字幕高清一区二区,亚洲人成人77777网站,韩国特黄毛片一级毛片免费,精品国产欧美,成人午夜精选视频在线观看免费,五月情天丁香宗合成人网

薈聚奇文、博采眾長(zhǎng)、見(jiàn)賢思齊
當(dāng)前位置:公文素材庫(kù) > 報(bào)告體會(huì) > 心得體會(huì) > matlab心得

matlab心得

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-29 22:32:14 | 移動(dòng)端:matlab心得

matlab心得

學(xué)習(xí)Matlab心得體會(huì)

學(xué)習(xí)Matlab已經(jīng)有一段時(shí)間了,對(duì)Matlab編程有了一定的了解。下面談?wù)勛约航诘膶W(xué)習(xí)心得。

第一節(jié)的時(shí)候我們對(duì)Matlab有了初步的認(rèn)識(shí):Matlab是“矩陣實(shí)驗(yàn)室(matrixlaboratoy)”的縮寫,它是一種與數(shù)學(xué)水平密切相關(guān)的算法語(yǔ)言,專門針對(duì)科學(xué)、工程計(jì)算及繪圖的需求。Matlab的應(yīng)用范圍非常廣,包括信號(hào)和圖像處理、通訊、控制系統(tǒng)設(shè)計(jì)、測(cè)試和處理、財(cái)務(wù)建模和分析以及計(jì)算機(jī)生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱擴(kuò)展了Matlab環(huán)境,以解決這些領(lǐng)域的特定性問(wèn)題。比如說(shuō)在自動(dòng)控制理論中用的比較多的是根軌跡,相平面,傳遞函數(shù),拉普拉斯變換,乃氏曲線等。在電機(jī)控制里面還有很多仿真實(shí)驗(yàn),也經(jīng)常用,對(duì)于輔助分析,也是很好用的。

我們已經(jīng)學(xué)習(xí)過(guò)C語(yǔ)言,不難發(fā)現(xiàn)Matlab的編程基本語(yǔ)法學(xué)習(xí)起來(lái)很快的,和C語(yǔ)言很類似,而且支持C語(yǔ)言函數(shù)的,或者說(shuō)函數(shù)就是用C語(yǔ)言編的。大一時(shí)學(xué)習(xí)線性代數(shù),對(duì)矩陣又有了一定的了解,為今天學(xué)習(xí)Matlab打下了一定的基礎(chǔ)。從matlab的名字的來(lái)源可以看出,它以矩陣運(yùn)算常見(jiàn),在當(dāng)今的科學(xué)計(jì)算中,幾乎無(wú)處不用矩陣運(yùn)算,這是它的優(yōu)勢(shì)得到了充分的體現(xiàn)。

隨著學(xué)習(xí)的課時(shí)的增加,我們對(duì)Matlab的有了深入而實(shí)質(zhì)性的了解。首先我們學(xué)習(xí)了Matlab的數(shù)學(xué)運(yùn)算、程序設(shè)計(jì)、程序調(diào)試、Matlab繪圖及圖形句柄,最后我們又學(xué)習(xí)了Matlab的圖形用戶界面設(shè)計(jì)。經(jīng)過(guò)幾次實(shí)驗(yàn)課,我們學(xué)會(huì)了M文件編程及程序調(diào)試,學(xué)會(huì)利用help這一命令對(duì)程序進(jìn)行解釋。

Matlab是以解釋方式工作的,即它對(duì)每條語(yǔ)句解釋后立即執(zhí)行,若有錯(cuò)誤也立即做出反應(yīng),便于對(duì)程序進(jìn)行修改,大大減輕了編程和調(diào)試的工作量。它靈活、方便,程序調(diào)試手段豐富,調(diào)試速度快。Matlab語(yǔ)言像Basic和C語(yǔ)言一樣規(guī)定了矩陣的算算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符及賦值運(yùn)算符等。Matlab的繪圖功是十分方便的,在調(diào)用繪圖函數(shù)時(shí)調(diào)整自變量可繪制出不同顏色的點(diǎn)、線、復(fù)線或多重線,這是通用的編程語(yǔ)言所不及的。Matlab的工作環(huán)境主要由命令窗口、圖形窗口、和文本編輯窗口組成。

當(dāng)然,matlab與其它計(jì)算機(jī)語(yǔ)言相比,有其獨(dú)特的優(yōu)點(diǎn)。特點(diǎn)如下:Matlab把編輯、編譯、連接以及執(zhí)行融為一體,加快了編寫、修改、和調(diào)試程序的速度,或者說(shuō)是一種比VB還要簡(jiǎn)單的語(yǔ)言。Matlab語(yǔ)言的內(nèi)容極為豐富,它的各種函數(shù)都與數(shù)學(xué)領(lǐng)域有關(guān),它的起點(diǎn)高,編程效率高,用戶使用方便,智能化程度高,人機(jī)交互性好,功能豐富,可擴(kuò)展性強(qiáng)。

通過(guò)這段時(shí)間的理論學(xué)習(xí)及實(shí)驗(yàn),我覺(jué)得要提高matlab編程能力的方法有以下幾點(diǎn):(1)利用help,lookfor等功能對(duì)程序進(jìn)行編譯修改。(2)多上網(wǎng)查資料,上論壇,搜索帖子、發(fā)帖子問(wèn)人(3)閱讀別人、特別是一些高級(jí)技術(shù)人員的程序,在閱讀的過(guò)程中進(jìn)行學(xué)習(xí),學(xué)習(xí)別人的編程方法。(4)還要有一本matlab的函數(shù)工具詞典,可以盡量多的熟悉matlab自帶的函數(shù),因?yàn)閙atlab自帶的函數(shù)特別多,基本上能夠滿足一般的數(shù)據(jù)和矩陣的計(jì)算。當(dāng)然了,正如所有的程序語(yǔ)言一樣,“3分課本7分上機(jī)”,一定要?jiǎng)邮植判,不能光看。多想、多思考、多嘗試,才是正路。

記得上第一節(jié)課時(shí),老師給我們放得ppt上有這樣一句話:學(xué)會(huì)Matlab將改變你的一生,網(wǎng)絡(luò)對(duì)你的改變將遠(yuǎn)遠(yuǎn)的超過(guò)一臺(tái)獨(dú)立的計(jì)算機(jī)!作為一名電氣工程及其自動(dòng)化的一名學(xué)生,學(xué)好Matlab是非常有用的,擴(kuò)展就業(yè)方向,為將來(lái)就業(yè)打下良好的基礎(chǔ)!

最后,感謝老師您這么久以來(lái)對(duì)我們的諄諄教導(dǎo)!我們不會(huì)忘記您對(duì)我們的細(xì)心輔導(dǎo),不會(huì)忘記您在我們瞌睡的時(shí)候給我們的講的故事

擴(kuò)展閱讀:MATLAB 心得

Chapter1概述

1.1簡(jiǎn)介

MATLAB是“矩陣實(shí)驗(yàn)室(MatrixLaboratory)”的縮寫,它是一種以矩陣運(yùn)算為基礎(chǔ)的交互式程序語(yǔ)言,是專門針對(duì)科學(xué)與工程中計(jì)算和繪圖的需求而開(kāi)發(fā)的。

1.2特點(diǎn)

MATLAB是以解釋方式工作的,即它對(duì)每條語(yǔ)句解釋后立即執(zhí)行,若有錯(cuò)誤也立即作出反應(yīng),便于編程者馬上改正。

1.3界面

1.菜單欄

菜單欄包括7個(gè)菜單項(xiàng)。其中,F(xiàn)ile用于相關(guān)文件的處理,Edit實(shí)現(xiàn)命令窗口的編輯操作,Debug用來(lái)調(diào)試程序,Parallel用來(lái)進(jìn)行配置管理和并行計(jì)算設(shè)置,Desktop用來(lái)是指窗口的實(shí)現(xiàn)方式,Window用來(lái)關(guān)閉所有使用的編輯器窗口或選擇活動(dòng)窗口,Help用來(lái)選擇打開(kāi)不同的幫助系統(tǒng)。

2.CommandWindow(命令窗口)

鍵盤上的ESC可恢復(fù)命令輸入的空白狀態(tài);方向鍵中的上箭頭可調(diào)出上一行的歷史命令。想查某函數(shù)的幫助時(shí),如linespace函數(shù),鍵入doclinespace即可。3.Workspace(工作空間)

儲(chǔ)存著當(dāng)前窗口中所有變量的名稱、類型、字節(jié)數(shù)等內(nèi)容。4.Commandhistory(歷史命令)5.Currentfolder(當(dāng)前文件夾)

修改默認(rèn)目錄的方法:對(duì)桌面上的MATLAB快捷方式右鍵選“屬性”,將起始位置改為“C:\\Users\\馮亞飛\\Documents\\MATLAB”即可。6.Details

如果Editor中有“%%通信程序”這樣的題頭時(shí),它會(huì)在Details窗口內(nèi)顯示出來(lái)。7.Editor(文本編輯窗口)

可在CommandWindow中直接鍵入edit來(lái)新建一個(gè)Editor?旖萱I:ctrl+R,選中行加上注釋符“%”;ctrl+T,去掉注釋符;ctrl+回車,運(yùn)行區(qū)域內(nèi)的程序(所謂區(qū)域指的是用兩個(gè)注釋符“%%”分隔開(kāi)的區(qū)域);8.Figure(圖形窗口)

1.4退出方法

鍵入exit,另一種是直接單擊右上角的×號(hào),后者是非正常退出,該過(guò)程中所有的輸入

命令將不記錄在Commandhistory窗口中,所以應(yīng)當(dāng)盡量避免使用。

Chapter2基本語(yǔ)法

2.1變量及其賦值

2.1.1矩陣及其元素的賦值

MATLAB內(nèi)部只有一種數(shù)據(jù)格式,那就是雙精度(即64位)二進(jìn)制,對(duì)應(yīng)于十進(jìn)制16位有效數(shù)和±308次冪。

MATLAB中的變量或常量都代表矩陣,標(biāo)量應(yīng)看做1×1的矩陣。矩陣的值放在方括號(hào)中,同一行中各元素之間以逗號(hào)或空格分開(kāi),不同行則以分號(hào)隔開(kāi),語(yǔ)句的結(jié)尾可用“回車”或逗號(hào),此時(shí)會(huì)立即顯示運(yùn)算結(jié)果。如果不希望顯示結(jié)果,就以分號(hào)結(jié)尾。

變量的元素用圓括號(hào)中的數(shù)字(也稱為下標(biāo))來(lái)注明,一維矩陣(也稱數(shù)組或向量)中的元素用一個(gè)下標(biāo)表示;二維矩陣可有兩個(gè)下標(biāo)數(shù),以逗號(hào)分開(kāi)。如果賦值元素的下標(biāo)超出原來(lái)矩陣的大小,矩陣的行列會(huì)自動(dòng)擴(kuò)展,并且跳空的元素被自動(dòng)地賦值0.這種自動(dòng)擴(kuò)展維數(shù)的功能只適用于賦值語(yǔ)句。在其他語(yǔ)句中若出現(xiàn)超維調(diào)用的情況,MATLAB將給出出錯(cuò)提示。

給全行賦值可用冒號(hào)“:”。

若想抽去矩陣的某一行或列,可以利用空矩陣[]的概念。比如:A([245]),:)=[],表示抽去矩陣A的2、4、5行。2.1.2復(fù)數(shù)

MATLAB中的每一個(gè)元素都可以是復(fù)數(shù),實(shí)數(shù)是復(fù)數(shù)的特例。

運(yùn)算符“’”表示把矩陣作共軛轉(zhuǎn)置,即把它的行列互換,同時(shí)把各元素的虛部反號(hào)。函數(shù)conj則只把各元素的虛部反號(hào),即只取共軛。所以若想求轉(zhuǎn)置而不要共軛,就要用conj和“’”結(jié)合起來(lái)完成。2.1.3基本矩陣和函數(shù)

(1)zeros(m,n),ones(m,n),rand(m,n)隨機(jī)數(shù)矩陣,randn(m,n)正態(tài)隨機(jī)數(shù)矩陣,eye(n)單位矩陣(方陣)。

(2)linespace(a,b,n)。均分向量,在a與b之間均分地產(chǎn)生n個(gè)點(diǎn)值,形成1×n元向量。

(3)size(y)是求多維矩陣y的各維長(zhǎng)度,一般有兩個(gè)輸出量。length(x)是返回一維矩陣x的長(zhǎng)度,只有一個(gè)輸出量。length不區(qū)分列或行。

(4)magic(n)。魔方矩陣的特點(diǎn)是其元素由1到n×n的自然數(shù)組成;每行每列及兩對(duì)角線上的元素之和均等于(n3+n)/2。

(5)eye(n)。單位矩陣是n×n元的方陣,其對(duì)角線上的元素為1,其余元素均為0。(對(duì)角線指的是從左上角到右下角)

2.2矩陣的初等運(yùn)算

如果想針對(duì)矩陣中對(duì)應(yīng)位置的元素進(jìn)行運(yùn)算時(shí),一定要用點(diǎn)乘、點(diǎn)除或點(diǎn)冪。

2.2.1矩陣的乘法

m×p階矩陣A與p×n階矩陣B的乘積C是一個(gè)m×n階矩陣,它的任何一個(gè)元素C(i,j)的值為A陣的第i行和B陣的第j列對(duì)應(yīng)元素乘積的和。對(duì)于標(biāo)量A,B,因?yàn)閚,p,m均為1,矩陣乘法就退化為普通數(shù)的乘法。

注意矩陣乘法的左乘和右乘的結(jié)果一般不同,只有單位矩陣?yán)狻H鏴ye(m)*A=A*eye(m)=A。2.2.2矩陣的除法

矩陣除法是MATLAB從逆矩陣的概念引申來(lái)的。先介紹逆矩陣的定義,對(duì)于任意n×n階方陣A,如果能找到一個(gè)同階的方陣V,使

A*V=I其中,I為n階的單位矩陣eye(n),則V就是A的逆矩陣,用數(shù)學(xué)符號(hào)表示為V=A-1。

逆矩陣V存在的條件是A的行列式det(A)不等于0。在MATLAB中可用函數(shù)inv求逆矩陣,鍵入V=inv(A),就可得到A的逆矩陣V。

現(xiàn)在來(lái)看方程D*X=B,設(shè)X為未知矩陣,等式兩端同時(shí)左乘以inv(D),即

Inv(D)*D*X=inv(D)*B

因?yàn)榈仁阶蠖薸nv(D)*D=I,而I*X=X,所以上式成為

X=inv(D)*B=D\\B把D的逆矩陣左乘以B,MATLAB就記作D\\,稱之為“左除”。從D*X=B的階數(shù)檢驗(yàn)可知,B與D的行數(shù)相等。因此,左除時(shí)的階數(shù)檢驗(yàn)條件是:兩矩陣的行數(shù)必須相等。

如果原始方程的未知數(shù)向量在左而系數(shù)矩陣在右,即X*D=B,則按上述同樣的方法可以寫出

X=B*inv(D)=B/D把D的逆矩陣右乘以B,MATLAB就記作/D,稱之為“右除”。同理,右除時(shí)的階數(shù)檢驗(yàn)條件是:兩矩陣的列數(shù)必須相等。

矩陣除法可以用來(lái)方便地解線性方程組。但是當(dāng)方程數(shù)少于未知數(shù)個(gè)數(shù)時(shí),仍然可用除法符號(hào)求出解,但它只是一個(gè)特殊解。

2.3元素群運(yùn)算

元素群運(yùn)算指的是矩陣中所有元素按照單個(gè)元素進(jìn)行運(yùn)算。為了與矩陣作為整體的運(yùn)算符號(hào)相區(qū)別,要在運(yùn)算符“*、/、\\、^”前加一點(diǎn)符號(hào)“.”,以表示進(jìn)行的是元素群運(yùn)算。2.3.1數(shù)組及其賦值

MATLAB提供了兩種為等間隔數(shù)組賦值的簡(jiǎn)易方法。(1)t=[初值:增量:終值]。如t=[0:0.02:1]

增量可為負(fù)值;當(dāng)增量為1時(shí),可略去增量值。(2)用linespace函數(shù),具體參見(jiàn)2.1.3。

有時(shí)要求自變量按等比級(jí)數(shù)賦值,在設(shè)頻率軸時(shí)往往如此,可用logspace函數(shù)。如鍵入W=logspace(0,1,11)。它的意義是將10的0至1次冪之間按冪等分(即數(shù)是等比的)為11個(gè)點(diǎn)。

2.3.2元素群函數(shù)

下表是初等數(shù)學(xué)函數(shù)庫(kù)中的常用函數(shù),均可用于元素群運(yùn)算,即其自變量都可以是任意階的矩陣。

類別三角函數(shù)指數(shù)函數(shù)復(fù)數(shù)取整函數(shù)初等數(shù)學(xué)函數(shù)庫(kù)(elfun)

函數(shù)名及其意義sincostancot余切asin反正弦acos反余弦atan反正切exp以e為底的指數(shù)log自然對(duì)數(shù)log2以2為底的指數(shù)log10以10為底的指數(shù)sqrt方根abs絕對(duì)值和復(fù)數(shù)模值angle相角real實(shí)部imag虛部isreal是實(shí)數(shù)時(shí)為真round四舍五入為整數(shù)fix向0舍入為整數(shù)floor向負(fù)∞舍入為整數(shù)ceil向∞舍入為整數(shù)rem(a,b)是a整除b,求余數(shù)sod(x,m)是x整除m取正余數(shù)pow2是2的冪conj共軛復(fù)數(shù)sign符號(hào)函數(shù)2.4邏輯判斷及流程控制

2.4.1關(guān)系運(yùn)算

所謂關(guān)系運(yùn)算,是指兩元素之間數(shù)值的比較,它是對(duì)矩陣的各個(gè)元素進(jìn)行元素群運(yùn)算,一共有六種可能,具體如下:

<小于大于>=大于等于==等于~=不等于關(guān)系運(yùn)算的結(jié)果只有兩種可能,即0(假)或1(真)。2.4.2邏輯運(yùn)算&邏輯與|邏輯或~邏輯非xor(A,B)異或同樣用于元素群,可得出同階的01矩陣。邏輯量只能取0(假)和1(真)兩個(gè)值。為了按列、按行判斷一群元素的邏輯值,它又增加兩種對(duì)元素群的邏輯運(yùn)算all(全為真)和any(不全為假)。fori=1:n%%增量為1的話可以省略不寫2.4.3流程控制語(yǔ)句plot(s_x(j,i);%%同樣不能加括號(hào)(1)if語(yǔ)句endifa==1B=2;C=2;%%此行中不能加括號(hào)switch表達(dá)式(標(biāo)量或字符串)elseifa==2%%切記else和if要連起來(lái)寫case值1B=3;C=3;語(yǔ)句組Aelsecase值2B=4;C=4;語(yǔ)句組Bend%%別忘了end….(2)while語(yǔ)句otherwise(3)for語(yǔ)句語(yǔ)句組N其結(jié)構(gòu)形式為end%%別忘了endfork=初值:增量:終值語(yǔ)句組A,end(4)switch語(yǔ)句

另外break是終止循環(huán)的命令,在循環(huán)語(yǔ)句中,可用它在一定條件下跳出循環(huán)。在多重循環(huán)中,break只能使程序跳出包含它的最內(nèi)部的那個(gè)循環(huán)。

2.5基本繪圖方法

2.5.1x-y直角坐標(biāo)中的二維曲線plot命令(1)plot(y)輸入一個(gè)數(shù)組的情況以y中元素的下標(biāo)作為x坐標(biāo),y中元素的值作為y坐標(biāo),一一對(duì)應(yīng)畫在x-y坐標(biāo)平面圖上,而且將各點(diǎn)以直線相連。y=[1:10];figure(2);%%新建圖形2號(hào)窗口plot(y);title(‘MyFirstPlot’);%%給圖加上標(biāo)題xlabel(‘n’);ylabel(‘Y’);%%給坐標(biāo)軸加上說(shuō)明gridon;%%添加網(wǎng)格,gridoff去掉網(wǎng)格gtext(‘where’);%%利用鼠標(biāo)拖動(dòng)來(lái)確定標(biāo)注文字的位置

(2)plot(x,y)輸入兩個(gè)數(shù)組的情況2.5.2線型、點(diǎn)型和顏色

為了設(shè)定線型,在輸入變量組的后面加一個(gè)引號(hào),在引號(hào)內(nèi)部放入線型和顏色的標(biāo)志符,如plot(x,y,’*b’,x1,y1,’:r’)。

具體可以鍵入doclinespec查詢。2.5.3多條曲線的繪制

(1)plot(t,[y1,y2,…])其中t是向量,y=[y1,y2…]是矩陣。(2)用hold命令

在畫完一張圖后用命令“holdon”保持住,再畫下一條曲線。注意及時(shí)解除保持狀態(tài),即鍵入“holdoff”,否則,以后的圖都會(huì)疊加在此圖上,造成混亂。(3)plot(x,y,’*b’,x1,y1,’:r’)(4)plotyy(t1,y1,t2,y2)

plotyy設(shè)有兩個(gè)縱坐標(biāo),以便繪制兩個(gè)y尺度不同的變量,但x軸仍只能用一個(gè)比例尺。左縱坐標(biāo)是對(duì)y1的,右縱坐標(biāo)是對(duì)y3的。曲線的標(biāo)注用gtext命令。2.5.4其他二維繪圖命令

(1)subplot(n,m,p)命令:將圖形窗口分成n×m個(gè)子圖,在第p個(gè)子圖處繪制圖形。

subplot(2,2,1),plot(t1,y1);

fill(t1,y1,’r’);%%在曲線和坐標(biāo)軸之間的封閉區(qū)填以指定顏色

title(‘fill(t1,y1,’’r’’)’);%%r前后的引號(hào)寫成兩個(gè)引號(hào),這是因?yàn)樗幵趖itle后的

%%引號(hào)內(nèi)。MATLAB規(guī)定,這種引號(hào)必須寫成兩個(gè),以免

%%被誤認(rèn)為是末尾的引號(hào)。

subplot(2,2,2),plot(t2,y2);

subplot(2,2,3),plot(t3,y3);

subplot(2,2,4),plot(t4,y4);%%再鍵入subplot(1,1,1)命令可取消子圖,轉(zhuǎn)回全屏幕繪圖。(2)其他坐標(biāo)系

①polar(theta,rho)命令:極坐標(biāo)繪圖,以角度theta為一個(gè)坐標(biāo),單位是弧度,另外一個(gè)坐標(biāo)是矢徑rho。

②loglog繪出縱、橫坐標(biāo)刻度均為log10的對(duì)數(shù)圖。

③semilogx使用半對(duì)數(shù)刻度繪圖,x軸為log10刻度,y軸為線性刻度。④semilogy使用半對(duì)數(shù)刻度繪圖,y軸為log10刻度,x軸為線性刻度。(3)復(fù)數(shù)的繪圖

當(dāng)plot(z)中的z為復(fù)數(shù)單變量時(shí)(即含有非零的虛部),MATLAB把復(fù)數(shù)的實(shí)部作為x坐標(biāo),虛部作為y坐標(biāo)進(jìn)行繪圖,即相當(dāng)于plot(real(z),imag(z))。如果是雙變量如plot(t,z),則z中的虛數(shù)部分將被丟棄。要在復(fù)平面內(nèi)繪出多條圖線,必須用hold命令,或把多根曲線的實(shí)部和虛部明確地寫出,作為plot函數(shù)的輸入變?cè),即plot(real(z),imag(z),real(z2),imag(z2))。

(4)坐標(biāo)比例和尺寸的設(shè)定axis命令

v=axis,返回當(dāng)前圖形邊界的四元行向量,即v=[xmin,xmax,ymin,ymax]。axis(v)(其中v是一個(gè)四元向量),將坐標(biāo)軸設(shè)定在v規(guī)定的范圍內(nèi)。

axis的另外一個(gè)功能是控制圖形的縱橫比。axis(‘square’)或axis(‘equal’)使屏幕上x(chóng)與y的比例尺相同,在這種方式下,斜率為1的直線的傾斜角為45°。(5)圖形窗口中的直接編輯

指的就是圖形窗口頂部的菜單和按鈕?梢宰孕忻髟囼(yàn)以掌握他們的功能和用法,深入一些的問(wèn)題需參閱手冊(cè)“UsingMATLABGraphics”。2.5.5三維曲線和曲面具體用法待定。2.5.6動(dòng)畫

具體待定。示例程序:clear;axisequal;%%因?yàn)楫a(chǎn)生的圖形是圓形,故把坐標(biāo)設(shè)成相等比例m=moviein(16);%%為變量m預(yù)留16幅圖的存儲(chǔ)空間forj=1:16%%作16次循環(huán)plot(fft(eye(j+16)));%%畫圖m(:,j)=getframe;%%依次存入m中endmovie(m,30)%%每秒30幀的速度播放m中的圖形2.6M文件及程序調(diào)試

M文件可分為兩種:一種是主程序,也稱為主程序文件(ScriptFile),是由用戶為解決特定的問(wèn)題而編制的;另一種是子程序,也稱為函數(shù)文件(FunctionFile),它必須由其他M文件來(lái)調(diào)用,函數(shù)文件可以進(jìn)行遞歸調(diào)用(即自己調(diào)用自己)。2.6.1主程序文件其格式特征如下:

(1)用clear,closeall,clc等語(yǔ)句開(kāi)始,以避免其他已執(zhí)行過(guò)的程序殘留數(shù)據(jù)對(duì)本程序的影響。

前幾行通常是對(duì)程序用途的說(shuō)明,利用注釋符“%”來(lái)注釋,特別是在運(yùn)行時(shí)對(duì)用戶輸入數(shù)據(jù)的要求,更要敘述清楚,不然別人看不懂也用不成,連自己日后也會(huì)遺忘。

(2)以下是程序的主體。如果文件中有全局變量,即在子程序中與主程序共用的變量,應(yīng)在程序的起始部分注明,語(yǔ)句是Global變量名1變量名2…

鍵入程序時(shí)最好從頭到尾用英文,不要插入漢字。漢字可在程序調(diào)試完畢后加入。注意在菜單項(xiàng)【Text】下,選【SmartIndent】項(xiàng)可以自動(dòng)對(duì)程序進(jìn)行縮進(jìn)排版。

(3)文件名不允許用漢字。2.6.2人機(jī)交互命令

(1)pause(n)命令:程序執(zhí)行到此處暫停n秒,再繼續(xù)執(zhí)行。如果沒(méi)有括號(hào)參數(shù),則等待用戶鍵入任意鍵后才繼續(xù)執(zhí)行。

(2)input(‘提示文字’):程序執(zhí)行到此處暫停,在屏幕上顯示引號(hào)中的提示字符串,要求用戶輸入數(shù)據(jù)。如程序?yàn)閤=input(‘x=’),則屏幕上顯示“x=”,輸入的數(shù)據(jù)將賦值給x。數(shù)據(jù)輸入后程序繼續(xù)執(zhí)行。imput命令也可以接受字符,其格式為y=input(‘提示文字’,’s’),此時(shí)y將等于輸入的字符串。

(3)ctrl+C鍵:強(qiáng)行停止程序運(yùn)行的命令。在發(fā)現(xiàn)程序運(yùn)行有錯(cuò)或運(yùn)行時(shí)間太長(zhǎng)時(shí),可用此方法中途終止它。2.6.3函數(shù)文件

函數(shù)文件是用來(lái)定義子程序的。它與程序文件的主要區(qū)別有三點(diǎn):①由function起頭,后跟的函數(shù)名必須與文件名相同;②有輸入輸出變量,可進(jìn)行變量傳遞;

③除非用global聲明,程序中的變量均為局部變量,運(yùn)行后不保存在workspace中。先看一個(gè)簡(jiǎn)單的函數(shù)文件,其文件名為mean.m。functiony=mean(x)%MEAN求平均值。對(duì)于向量,mean(x)返回該向量x中各元素的平均值%對(duì)于矩陣,mean(x)是一個(gè)包含各列元素平均值的行向量[m,n]=size(x);ifm==1m=n;endy=sum(x)/m文件的第一條語(yǔ)句定義了函數(shù)名、輸入變?cè)约拜敵鲎冊(cè)。如果沒(méi)有這條語(yǔ)句,該文件就成為程序文件,而不再是函數(shù)文件了。輸入變?cè)洼敵鲎冊(cè)伎梢杂腥舾蓚(gè),但必須在第一條語(yǔ)句中明確地列出。

程序中的運(yùn)算都采用元素群算法,以保證此函數(shù)可按元素群調(diào)用。MATLAB中幾乎所有的函數(shù)都能用元素群運(yùn)算,所以我們自編的子程序,也要盡量滿足元素群算法的要求,即子程序主體中均用點(diǎn)乘、點(diǎn)冪等運(yùn)算符。2.6.4內(nèi)聯(lián)函數(shù)和匿名函數(shù)

(1)用上節(jié)方法來(lái)定義函數(shù),必須在主程序之外重新建立一個(gè)函數(shù)文件,這不大方便。MATLAB還提供了一種簡(jiǎn)便的、直接在主程序文件中定義函數(shù)的方法,稱為內(nèi)聯(lián)函數(shù)。它的調(diào)用格式為fun=inline(‘函數(shù)內(nèi)容’,自變量列表)例如f(x,y)=x2+xy2就可以用f=inline(‘x.^2+x.*y.^2’,’x’,’y’)

來(lái)直接定義。不過(guò)這樣的格式只能用來(lái)定義比較簡(jiǎn)單的、用一條語(yǔ)句就能求出結(jié)果的函數(shù)形式。

(2)匿名函數(shù)式MATLAB7.x版本給出的新的函數(shù)定義形式,它的基本格式為fun=@(自變量列表)函數(shù)內(nèi)容例如f=@(x,y)x.^2+x.*y.^2

可見(jiàn),它和inline函數(shù)很相似,但鍵入量更少,更簡(jiǎn)潔。更重要的是,該函數(shù)允許直接使用MATLAB工作空間中的變量。例如,在MATLAB工作空間中已經(jīng)有了a和b,則匿名函數(shù)f=@(x,y)cos(a*x+b*y)就可以成立,無(wú)需把a(bǔ)、b列入變量列表中,所以使數(shù)學(xué)函數(shù)的定義更加方便。

2.6.5快捷鍵【Tab】(或【Ctrl+]】)增加縮進(jìn)(對(duì)多行有效)【Ctrl+[】--減少縮進(jìn)(對(duì)多行有效)

【Ctrl+I】--自動(dòng)縮進(jìn)(即自動(dòng)排版,對(duì)多行有效)【Ctrl+R】——注釋(對(duì)多行有效)【Ctrl+T】——去掉注釋(對(duì)多行有效)【F12】——設(shè)置或取消斷點(diǎn)【F5】——運(yùn)行程序

Chapter3MATLAB的開(kāi)發(fā)環(huán)境和工具

3.1MATLAB與其他軟件的接口關(guān)系

3.1.1日期和時(shí)間命令

有關(guān)時(shí)間和日期方面的命令,都是從操作系統(tǒng)中提取數(shù)據(jù)的。這些命令見(jiàn)下表。

時(shí)間和日期函數(shù)庫(kù)(timefun)

類別當(dāng)前日期函數(shù)名nowdatedatenumdatestrcalenderweekdaycputimetic,toc意義當(dāng)前日期和時(shí)間的時(shí)間數(shù)當(dāng)前日期的字符串成序列的日期數(shù)日期的字符串格式日歷星期數(shù)以秒記的CPU時(shí)間秒表定時(shí)器的啟動(dòng)和停止dateveceomdaydateticketimepause函數(shù)名clock日期向量月末日的星期數(shù)日期的格式設(shè)定經(jīng)歷時(shí)間暫停等待時(shí)間意義當(dāng)前日期的日期向量基本函數(shù)日期函數(shù)定時(shí)函數(shù)下面介紹如何確定做某種計(jì)算所需的時(shí)間。例如,想看看生成1個(gè)100×100階隨機(jī)矩陣并作求逆運(yùn)算所需的時(shí)間,可以用下列三組語(yǔ)句之一:(1)t0=clock;y=inv(ran(100,100));etime(clock,t0)(2)t=cputime;y=inv(ran(100,100));cputime-t(3)tic;y=inv(ran(100,100));toc

這三種方法的差別在于:第一種方法要先后兩次提取年、月、日、時(shí)、分、秒的數(shù)據(jù),并將他們相減;第二種方法以開(kāi)機(jī)時(shí)間為基準(zhǔn);第三種方法則用tic把秒表置零,求得的toc就是經(jīng)歷的時(shí)間。

3.2MATLAB的文件管理系統(tǒng)

3.2.1安裝后的MATLAB文件管理系統(tǒng)

安裝后的MATLAB根目錄(通常表示為MATLABroot)下,至少有bin、extern、help、toolbox這四個(gè)子目錄,其中子目錄bin包含了MATLAB所要用到的二進(jìn)制文件。啟動(dòng)MATLAB的執(zhí)行文件matlab.exe就在這個(gè)目錄中,雙擊這個(gè)文件就可以啟動(dòng)MATLAB軟件。子目錄extern

包含了MATLAB所要用到的外部文件。子目錄help包含了MATLAB的各種幫助文件,如果有下一級(jí)子目錄pdf_doc,則其中將包括MATLAB及其工具箱的說(shuō)明書(shū),那是十分有用的資料。子目錄toolbox包含了MATLAB的各種函數(shù)庫(kù)及已裝入的作為下一級(jí)子目錄的工具箱名稱等,它至少應(yīng)有l(wèi)ocal和matlab兩項(xiàng),其中matlab(注意用的是小寫)又有20多個(gè)子目錄,分別是本書(shū)第1~4章介紹的MATLAB中的基本函數(shù)庫(kù)。通常在MATLAB根目錄下,還會(huì)自動(dòng)建立一個(gè)用戶的子目錄work,以便把用戶自編的程序存在這個(gè)子目錄下,免得與系統(tǒng)中原有的文件混淆。

友情提示:本文中關(guān)于《matlab心得》給出的范例僅供您參考拓展思維使用,matlab心得:該篇文章建議您自主創(chuàng)作。

來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。


matlab心得》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.7334dd.com/gongwen/747647.html