MATLAB總結(jié)
MATLAB總結(jié)
這是我第一次接觸MATLAB,說真的剛開始我真的一點(diǎn)也不懂老師說的是什么,可是當(dāng)我聽了很多學(xué)長說這門課對我們這個專業(yè)非常重要的時候,我才開始意識到我不能就此罷休,應(yīng)該好好的學(xué),自此我上課之前都把書先看一遍,老師上課的時候我很認(rèn)真的聽講,現(xiàn)在雖然還有很多的知識我還是不太清楚,但是我認(rèn)真的學(xué)過,我想再復(fù)習(xí)也就不太那么難了,現(xiàn)在就我對MATLAB這門課的認(rèn)識做一下簡單的總結(jié)。
第一章主要介紹了MATLAB的桌面環(huán)境,以及介紹這個軟件的基本功能,使大家初步了解它的用途,同時也介紹了工作空間瀏覽器、數(shù)組編輯器、M文件性能剖析器等。第二章的學(xué)習(xí)是重點(diǎn),主要講的是矩陣和數(shù)組,首先,數(shù)組是有序數(shù)據(jù)的集合,在大多數(shù)的每一個元素都屬于同一種數(shù)據(jù)類型,它們使用同一個數(shù)組名稱和不同的下標(biāo)來唯一確定數(shù)組中的成員,其中,下標(biāo)是指數(shù)組中的序號。求矩陣最值函數(shù):
C=max(A),當(dāng)A是矩陣時,返回各列最大值;當(dāng)A是向量(行或列)時返回向量的最大值。C=max(A,B),A與B大小一樣,返回相應(yīng)位置的最大值。C=max(A,[],1),返回第一維(各列)最大值。C=max(A,[],2),返回第二維(各行)最大值。
[C,I]=max(...),返回最大值,以及該最大值的位置。注:min函數(shù)用法與max函數(shù)類似。矩陣除法:X=A\\B;AX=BX=A/B;XA=B矩陣操作函數(shù)矩陣轉(zhuǎn)置:’
矩陣求行列式:det矩陣求逆:inv
矩陣特征值求取:eig
矩陣特征多項(xiàng)式系數(shù)求。簆loy矩陣對角元向量提取:diag字符轉(zhuǎn)換(輸出)函數(shù):
sprintf("A(%d,%d)=%.1e\\n",m,n,A(m,n)),字符串轉(zhuǎn)換;
fprintf("A(%d,%d)=%.1e\\n",m,n,A(m,n)),字符串輸出至顯示屏;%d等表示輸出數(shù)值的格式,具體用法見help文件。矩陣求和函數(shù):
C=sum(A),當(dāng)A是矩陣時,返回各列之和;當(dāng)A是向量(行或列)時,返回所有元素之和。C=sum(A,1),按列求最大值,返回一個行向量。C=sum(A,2),按行求最大值,返回一個列向量。求余函數(shù):
rem(X,Y),求X/Y的余數(shù),返回X-n.*Y,n=fix(X./Y)(朝0方向取整),符號與X的符號一致,當(dāng)Y=0時,返回NaN,該函數(shù)的返回值就是通常的求余數(shù)的結(jié)果。
第三章主要上的是數(shù)據(jù)類型,眾所周知,MATLAB是一個功能強(qiáng)大的數(shù)學(xué)軟件,擅長于用矩陣運(yùn)算完成各種數(shù)學(xué)功能。但是其程序需要在MATLAB環(huán)境下解釋執(zhí)行,效率不高。如果能將它強(qiáng)大的函數(shù)庫用于C語言,利用C來編譯執(zhí)行,MATLAB將能發(fā)揮更大的作用。所以,MATLAB從5.0開始已經(jīng)提供了與外部C/C++程序的應(yīng)用程序接口,為利用C語言調(diào)用MATLAB的函數(shù)提供了可能。但是MATLAB的接口發(fā)展很快,到MATLAB6.5已經(jīng)提供了對VC7.0的支持,同時對C的接口相對于5.X版本有了一定的改變,在MATLAB當(dāng)中,我們利用M文件來實(shí)現(xiàn)函數(shù),每一個M文件實(shí)現(xiàn)一個單獨(dú)的功能,這一點(diǎn)和C語言當(dāng)中的函數(shù)是相互對應(yīng)的。所以,如果我們能將MATLAB中的M文件轉(zhuǎn)化為C語言下的一個單個函數(shù),就能實(shí)現(xiàn)MATLAB中相應(yīng)的功能,整個過程可分為三個主要部分,用MATLAB將M文件翻譯為C語言文件,從生成的C語言文件提取出有用語句,編寫數(shù)據(jù)轉(zhuǎn)換程序?qū)崿F(xiàn)參數(shù)格式轉(zhuǎn)換。整個過程最終將把M文件翻譯成C語言當(dāng)中的一個具有相同功能的函數(shù),供其它的程序調(diào)用。接下來幾章主要介紹了MATLAB的編程基礎(chǔ),這里引入了M文件的使用,M語言的語法與C語言非常類似,M語言函數(shù)文件能夠接受用戶的輸入?yún)?shù),并進(jìn)行計算,然后將計算的結(jié)果作為函數(shù)的返回值返回給調(diào)用者。在MATLAB中具有不同類型的函數(shù),分別為內(nèi)建函數(shù)、系統(tǒng)M函數(shù)、系統(tǒng)MEX函數(shù)文件、用戶自定義MEX函數(shù)文件和用戶自定義的M文件,其中內(nèi)建函數(shù)是MATLAB基本內(nèi)核提供的函數(shù)。下面是學(xué)習(xí)這門課常用到的知識點(diǎn):
demo-運(yùn)行MATLAB提供的展示文件;clear-清除workspace中所有的變量;clc-清除命令窗口中的所有內(nèi)容;size-計算變量的維數(shù);length-計算變量的長度;
^C-停止運(yùn)行當(dāng)前程序;quit/exit-結(jié)束或離開MATLAB;系統(tǒng)預(yù)定義變量:eps(浮點(diǎn)運(yùn)算誤差限),pi,Inf(無限),NaN(notanumber),i,j,ans(默認(rèn)變量)who(查找變量列表),whos(查看當(dāng)前內(nèi)存中的變量);save-將所有變量存入文件matlab.matsavemydat/savemydat.mat-將所有變量存入mydata.matsave文件名變量名列表,續(xù)行符:“”,Matlab區(qū)分大小寫,它的命令和函數(shù)全是小寫的,浮點(diǎn)運(yùn)算的相對精度為eps,Matlab中eps2.22e-016,即大約保持16位有效數(shù)字。Matlab中的虛部單位:i,j,n=input("Pleaseinputn:")zeros(m,n)ones(m,n)eye(m,n)diag(X)tril(A)triu(A)rand(m,n)生成一個m行n列的零矩陣,m=n時可簡寫為zeros(n)生成一個m行n列的元素全為1的矩陣,m=n時可寫為ones(n)生成一個主對角線全為1的m行n列矩陣,m=n時可簡寫為eye(n),即為n維單位矩陣若X是矩陣,則diag(X)為X的主對角線向量若X是向量,diag(X)產(chǎn)生以X為主對角線的對角矩陣提取一個矩陣的下三角部分提取一個矩陣的上三角部分產(chǎn)生0~1之間均勻分布的隨機(jī)矩陣m=n時簡寫為rand(n)經(jīng)過幾周的學(xué)習(xí),雖然說時間不是太長但是使我初步了解了MATLAB的基本知識,并且深深的意識到這門課的重要性,相信在今后的學(xué)習(xí)中這門課對我們的專業(yè)的影響將會是不容忽視的,我知道書上得來終覺淺,要知此事須躬行的道理,既然意識到了重要性,我想我會認(rèn)真的對待的。
擴(kuò)展閱讀:matlab心得
學(xué)習(xí)Matlab心得體會
學(xué)習(xí)Matlab已經(jīng)有一段時間了,對Matlab編程有了一定的了解。下面談?wù)勛约航诘膶W(xué)習(xí)心得。
第一節(jié)的時候我們對Matlab有了初步的認(rèn)識:Matlab是“矩陣實(shí)驗(yàn)室(matrixlaboratoy)”的縮寫,它是一種與數(shù)學(xué)水平密切相關(guān)的算法語言,專門針對科學(xué)、工程計算及繪圖的需求。Matlab的應(yīng)用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和處理、財務(wù)建模和分析以及計算機(jī)生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱擴(kuò)展了Matlab環(huán)境,以解決這些領(lǐng)域的特定性問題。比如說在自動控制理論中用的比較多的是根軌跡,相平面,傳遞函數(shù),拉普拉斯變換,乃氏曲線等。在電機(jī)控制里面還有很多仿真實(shí)驗(yàn),也經(jīng)常用,對于輔助分析,也是很好用的。
我們已經(jīng)學(xué)習(xí)過C語言,不難發(fā)現(xiàn)Matlab的編程基本語法學(xué)習(xí)起來很快的,和C語言很類似,而且支持C語言函數(shù)的,或者說函數(shù)就是用C語言編的。大一時學(xué)習(xí)線性代數(shù),對矩陣又有了一定的了解,為今天學(xué)習(xí)Matlab打下了一定的基礎(chǔ)。從matlab的名字的來源可以看出,它以矩陣運(yùn)算常見,在當(dāng)今的科學(xué)計算中,幾乎無處不用矩陣運(yùn)算,這是它的優(yōu)勢得到了充分的體現(xiàn)。
隨著學(xué)習(xí)的課時的增加,我們對Matlab的有了深入而實(shí)質(zhì)性的了解。首先我們學(xué)習(xí)了Matlab的數(shù)學(xué)運(yùn)算、程序設(shè)計、程序調(diào)試、Matlab繪圖及圖形句柄,最后我們又學(xué)習(xí)了Matlab的圖形用戶界面設(shè)計。經(jīng)過幾次實(shí)驗(yàn)課,我們學(xué)會了M文件編程及程序調(diào)試,學(xué)會利用help這一命令對程序進(jìn)行解釋。
Matlab是以解釋方式工作的,即它對每條語句解釋后立即執(zhí)行,若有錯誤也立即做出反應(yīng),便于對程序進(jìn)行修改,大大減輕了編程和調(diào)試的工作量。它靈活、方便,程序調(diào)試手段豐富,調(diào)試速度快。Matlab語言像Basic和C語言一樣規(guī)定了矩陣的算算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符及賦值運(yùn)算符等。Matlab的繪圖功是十分方便的,在調(diào)用繪圖函數(shù)時調(diào)整自變量可繪制出不同顏色的點(diǎn)、線、復(fù)線或多重線,這是通用的編程語言所不及的。Matlab的工作環(huán)境主要由命令窗口、圖形窗口、和文本編輯窗口組成。
當(dāng)然,matlab與其它計算機(jī)語言相比,有其獨(dú)特的優(yōu)點(diǎn)。特點(diǎn)如下:Matlab把編輯、編譯、連接以及執(zhí)行融為一體,加快了編寫、修改、和調(diào)試程序的速度,或者說是一種比VB還要簡單的語言。Matlab語言的內(nèi)容極為豐富,它的各種函數(shù)都與數(shù)學(xué)領(lǐng)域有關(guān),它的起點(diǎn)高,編程效率高,用戶使用方便,智能化程度高,人機(jī)交互性好,功能豐富,可擴(kuò)展性強(qiáng)。
通過這段時間的理論學(xué)習(xí)及實(shí)驗(yàn),我覺得要提高matlab編程能力的方法有以下幾點(diǎn):(1)利用help,lookfor等功能對程序進(jìn)行編譯修改。(2)多上網(wǎng)查資料,上論壇,搜索帖子、發(fā)帖子問人(3)閱讀別人、特別是一些高級技術(shù)人員的程序,在閱讀的過程中進(jìn)行學(xué)習(xí),學(xué)習(xí)別人的編程方法。(4)還要有一本matlab的函數(shù)工具詞典,可以盡量多的熟悉matlab自帶的函數(shù),因?yàn)閙atlab自帶的函數(shù)特別多,基本上能夠滿足一般的數(shù)據(jù)和矩陣的計算。當(dāng)然了,正如所有的程序語言一樣,“3分課本7分上機(jī)”,一定要動手才行,不能光看。多想、多思考、多嘗試,才是正路。
記得上第一節(jié)課時,老師給我們放得ppt上有這樣一句話:學(xué)會Matlab將改變你的一生,網(wǎng)絡(luò)對你的改變將遠(yuǎn)遠(yuǎn)的超過一臺獨(dú)立的計算機(jī)!作為一名電氣工程及其自動化的一名學(xué)生,學(xué)好Matlab是非常有用的,擴(kuò)展就業(yè)方向,為將來就業(yè)打下良好的基礎(chǔ)!
最后,感謝老師您這么久以來對我們的諄諄教導(dǎo)!我們不會忘記您對我們的細(xì)心輔導(dǎo),不會忘記您在我們瞌睡的時候給我們的講的故事
友情提示:本文中關(guān)于《MATLAB總結(jié)》給出的范例僅供您參考拓展思維使用,MATLAB總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。