MATLAB程序設(shè)計教程總結(jié)
MATLAB程序設(shè)計教程總結(jié)一、MATLAB操作基礎(chǔ)1、MATLAB的主要功能:(1)數(shù)值計算和符號計算功能(2)繪圖功能(3)編輯語言功
能(4)拓展功能
2、MATLAB的安裝為執(zhí)行安裝盤上的setp.exe文件來啟動安裝過程,然后按照系統(tǒng)提示進(jìn)
行操作即可。
3、MATLAB的六種操作界面:主窗口、命令窗口、工作空間窗口、當(dāng)前目錄窗口、命令
歷史窗口、start按鈕。
4、MATLAB可通過path命令或?qū)υ捒蛟O(shè)置搜索路徑。5、進(jìn)入MATLAB幫助界面的3種方法:(1)單擊MATLAB主窗口工具欄中的help按鈕
(2)選擇help菜單中前4項的任意一項(3)在命令窗口中輸入helpwith、helpdesk或doc命令
6、Help、lookfor及模糊查詢?yōu)镸ATLAB幫助命令二、MATLAB矩陣及計算
1、在MATLAB中變量名是以字母開頭,后接字母、下劃線的字符序列,最多允許有63個
字符,且變量區(qū)分大小寫,關(guān)鍵字和函數(shù)名不能作為變量名。
2、預(yù)定義變量:ans、eps、pi、i、j、inf、Inf、NaN、nan、nargin、nargout、realmax、realmin、
lasterr、lastwarn。
3、Clear命令刪除工作空間中的變量,who和whos用于顯示在工作空間中一直駐留的變量
名清單。
4、數(shù)據(jù)輸出格式有:formatshort、formatshorte、formatlong、formatlonge、formatbank、
formathex、formatt。5、矩陣的拆分:(1)利用冒號表達(dá)式獲得子矩陣(2)利用空矩陣刪除矩陣的元素(3)利
用reshpe(A,m,n)函數(shù)可以改變矩陣形狀.
6、特殊矩陣:zeros,ones,eye,rand.randn,magic(n),vander(n),hilb(n)7、算術(shù)運算包括基本算數(shù)運算、點運算和關(guān)系運算符。8、邏輯運算符:&、|、~
9、矩陣的轉(zhuǎn)置。矩陣的逆,矩陣的超越函數(shù)。10、結(jié)構(gòu)數(shù)據(jù)、單元數(shù)據(jù)和稀疏矩陣的函數(shù)及引用。三、MATLAB程序設(shè)計
1、M文件是有若干的MATLAB命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實
現(xiàn)某種算法,M文件包括命令文件和函數(shù)文件。2、程序控制結(jié)構(gòu):順序機(jī)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
3、函數(shù)文件由function語句引導(dǎo),其基本格式為:function輸出形參表函數(shù)名(輸入性
參表)
4、函數(shù)調(diào)用的一般格式:[輸出實參表]=函數(shù)名(輸入是參表)
5、程序調(diào)試(1)應(yīng)用程序兩類錯誤,一是語法錯誤,二是運行時的錯誤。(2)M文件編
輯器除了能編輯修改文件外還能對程序進(jìn)行調(diào)試,調(diào)試可通過控制單步運行和斷點運行操作來進(jìn)行。四、MATLAB繪圖
1、掌握二維數(shù)據(jù)曲線圖和曲面圖基本調(diào)用格式2、掌握三維數(shù)據(jù)曲面圖基本調(diào)用格式3、Image和imagesc函數(shù)用于圖像顯示
4、MATLAB具有動畫制作能力,它可以存儲一系列各種類型的二維或三維圖,然后像放
電影一樣把它們按順序播放出來稱為逐幅動畫;另一類是描繪質(zhì)點運動軌跡的動畫稱為軌跡動畫。
五、MATLAB數(shù)據(jù)分析與多項式計算
1、求向量的最大值和最小值以及求矩陣的最大值和最小值的基本調(diào)用格式。
2、數(shù)據(jù)序列求和與求積函數(shù)式sum和pord,平均值和中值函數(shù)分別是mean和median,累
加與累乘函數(shù)cumsum和cumprod。
3、求標(biāo)準(zhǔn)方差的一般調(diào)用格式為:Y=std(A,flag,dim):求相關(guān)系數(shù)調(diào)用格式為corrcoef(x)和
corrcoef(X,Y)。4、排序函數(shù)是sort(X)
5、一位數(shù)據(jù)插值采用的方法有線性方法、最近方法、3次多項式和3次樣條插值
6、用ployfit函數(shù)球的最小二擬合多項式的系數(shù),再用ployval函數(shù)按所得的多項式計算所
給出的點上的函數(shù)近似值。7、掌握一位離散傅里葉變換函數(shù)、多項式的加減乘除、多項式的導(dǎo)函數(shù)、代數(shù)多項式求值、
矩陣多項式求值以及多項式求根的調(diào)用格式‘六、MATLAB解方程和最優(yōu)化問題求解1、線性方程組求解:(1)直接解法包括利用做出運算符的直接解法和利用矩陣的分解求解。
(2)迭代法求解主要包括Jacobi迭代法、Gauss-serdel迭代法和兩步迭代法。2、非線性方程求解包括單變量非線性方程求解和非線性方程組求解。3、常微分方程初值問題的數(shù)值解法為龍格庫塔法。
4、最優(yōu)化問題求解分為無約束最優(yōu)化問題求解和有約束最優(yōu)化問題求解。七、MATLAB數(shù)值積分與數(shù)值微分
1、數(shù)值積分包括梯形法、辛普生法、高斯-克朗羅德法。
2、重積分被積函數(shù)是二元函數(shù)或三元函數(shù),積分范圍是平面的一個區(qū)域或空間的一個區(qū)
域。
3、數(shù)值微分的實現(xiàn)可用兩種方式,第一種是用多項式或樣條函數(shù)g(x)對f(x)進(jìn)行逼近,然
后用逼近函數(shù)g(x)在點x處的導(dǎo)數(shù),第二種是用f(x)在點x處的某種差商作為其導(dǎo)數(shù)。八、MATLAB符號運算
1、兩個建立富豪對象的函數(shù):sym和syms。
2、建立符號表達(dá)式有三種方式:(1)利用單引號(2)用sym函數(shù)(3)使用已知定義的符號
變量。
3、符號表達(dá)式的四則運算與數(shù)值運算一樣,用+、-、*、/、^運算符實現(xiàn)。4、符號表達(dá)式提取費腦子和分母運算的一般調(diào)用格式為[n,d]=numden(s).5、符號表達(dá)式的因式分解與展開函數(shù)調(diào)用格式為:factor(s)、expand(s)、collect(s)、collect(s,v)6、符號表達(dá)式系數(shù)的提取一般調(diào)用格式為:c=coeff(s[,x])該函數(shù)返回多項式中按指定變量
升冪順序排列的系數(shù),且按離字符“x”近原則確定主變量。
7、符號局長呢也是一種符號表達(dá)式,所以前面介紹的符號表達(dá)式運算都可以在符號意義下
進(jìn)行,但應(yīng)注意這些函數(shù)作用于符號矩陣時是分別作用于矩陣的每一個元素。8、求函數(shù)極限的函數(shù)limit,求函數(shù)導(dǎo)數(shù)的函數(shù)diff,求符號積分的函數(shù)是int。
9、掌握級數(shù)符號求和、泰勒級數(shù)函數(shù)、符號代數(shù)方程求解以及符號常微分方程求解的調(diào)用
格式。
九、MATLAB圖形句柄
1、在MATLAB中每一個具體的圖形都是由若干個不同的圖形對象組成的。
2、MATLAB在創(chuàng)建每一個圖形對象時,都為該對象分配唯一的一個值,稱其為圖形句柄。
句柄是圖形對象的唯一標(biāo)識符,不同對象的句柄不可能重復(fù)和混淆。
3、每個圖形對象都具有各式各樣的屬性,MATLAB正是通過對屬性的操作來控制和改變
圖形對象的。
4、圖形對象是MATLAB中很重要的一個圖形對象,MATLAB的一切圖形對象輸出都是在
圖形窗口中完成的。
5、坐標(biāo)軸是MATLAB中另一類很重要的圖形對象,坐標(biāo)軸對象是圖形窗口的子對象,每
個圖形窗口中可以定義多個坐標(biāo)軸對象,但只有一個坐標(biāo)軸是生成當(dāng)前坐標(biāo)軸,在沒有指明坐標(biāo)軸時,所有的圖形圖像都是在當(dāng)前坐標(biāo)軸中輸出。
6、曲線對象是坐標(biāo)軸的子對象,它既可以定義在二維坐標(biāo)系中,也可以定義在三維坐標(biāo)系
中。
7、曲面對象也是坐標(biāo)軸的自子對象,它定義在三維坐標(biāo)系中,而坐標(biāo)系可以在任何視點下。8、文本對象主要用于給圖形添加文字標(biāo)注。
9、其他核心對象包括區(qū)域塊對象、方框?qū)ο、光源對象。十、Simulink動態(tài)仿真集成環(huán)境
1、Simulink是一種以MATLAB為基礎(chǔ),對動態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包。
Simulink由于功能強(qiáng)大、使用簡單方便已成為應(yīng)用最廣泛的動態(tài)系統(tǒng)仿真軟件。
2、Simulink模塊庫提供了大量模塊,單擊模塊庫瀏覽器中Simulink前面的“+”號將看到
相應(yīng)的基本模塊,選擇所需基本模塊,可用鼠標(biāo)將其拖到模型編輯窗口。
3、模塊的而編輯包括添加模塊、選取模塊、復(fù)制與刪除模塊、模塊外形的調(diào)整和模塊名的
處理。
4、熟練掌握模塊的連接與模塊間的調(diào)整、標(biāo)注連線及刪除連線。
5、熟記模塊的參數(shù)和屬性設(shè)置,學(xué)會設(shè)置仿真參數(shù),學(xué)會使用命令操作對系統(tǒng)進(jìn)行仿真。6、學(xué)會建立子系統(tǒng)和封裝技術(shù),掌握子函數(shù)的設(shè)置和應(yīng)用。
擴(kuò)展閱讀:Matlab程序設(shè)計課程總結(jié)
Matlab程序設(shè)計課程總結(jié)
學(xué)院
班級學(xué)號姓名成績
1.Matlab的課程總結(jié)
隨著對matlab的學(xué)習(xí)的深入,我對其了解也更加深入。
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是矩陣實驗室(MatrixLaboratory)的簡稱,MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值方面首屈一指。
MATLAB可以進(jìn)行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡捷得多,并且mathwork也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持。可以直接調(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。此高級語言可用于技術(shù)計算,此開發(fā)環(huán)境可對代碼、文件和數(shù)據(jù)進(jìn)行管理,交互式工具可以按迭代的方式探查、設(shè)計及求解問題,數(shù)學(xué)函數(shù)可用于線性代數(shù)、統(tǒng)計、傅立葉分析、篩選、優(yōu)化以及數(shù)值積分等,二維和三維圖形函數(shù)可用于可視化數(shù)據(jù),各種工具可用于構(gòu)建自定義的圖形用戶界面,各種函數(shù)可將基于MATLAB的算法與外部應(yīng)用程序和語言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成。
應(yīng)用matlab語言編程的方法來對復(fù)雜電路進(jìn)行分析和計算,不僅節(jié)約計算時間、方便地調(diào)試電路參數(shù),而且還可以非常直觀地觀察和測量電路中的電壓、電流和功率等物理量。結(jié)論表明,matlab提供了高效簡潔的編程方法,其強(qiáng)大而簡易的繪圖功能、矩陣和數(shù)組運算能力以及很強(qiáng)的擴(kuò)充性,能充分的滿足基本電路分析、計算的需要,從而可以大大地提高計算精度和工作效率,在電路理論學(xué)科研究與工程實踐中具有很好的應(yīng)用價值。
2.matlab的優(yōu)勢和應(yīng)用
2.1MATLAB的優(yōu)勢
(1)友好的工作平臺和編程環(huán)境
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級,MATLAB的用戶界面也越來越精致,更加接近Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡單。而且新版本的MATLAB提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運行,而且能夠及時地報告出現(xiàn)的錯誤及進(jìn)行出錯原因分析。
(2)簡單易用的程序語言
Matlab一個高級的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運行。新版本的MATLAB語言是基于最為流行的C++語言基礎(chǔ)上的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學(xué)表達(dá)式的書寫格式。使之更利于非計算機(jī)專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強(qiáng),這也是MATLAB能夠深入到科學(xué)研究及工程計算各個領(lǐng)域的重要原因。
(3)強(qiáng)大的科學(xué)計算機(jī)數(shù)據(jù)處理能力
MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數(shù)學(xué)運算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C++。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。MATLAB的這些函數(shù)集包括從最簡單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復(fù)數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學(xué)運算、多維數(shù)組操作以及建模動態(tài)仿真等。
(4)出色的圖形處理功能
圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達(dá)式作圖。可用于科學(xué)計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。
(5)應(yīng)用廣泛的模塊集合工具箱
MATLAB對許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計、LMI控制、魯棒控制、模型預(yù)測、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計、實時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)實用的程序接口和發(fā)布平臺
新版本的MATLAB可以利用MATLAB編譯器和C/C++數(shù)學(xué)庫以及圖形庫,將自己的MATLAB程序自動轉(zhuǎn)換為獨立于MATLAB運行的C和C++的代碼。允許用戶編寫可以和MATLAB進(jìn)行交互的C或C++語言程序。另外,MATLAB網(wǎng)頁服務(wù)程序還容許在Web應(yīng)用中使用自己的MATLAB數(shù)學(xué)和圖形程序。MATLAB的一個重要特色就是具有一套程序擴(kuò)展系統(tǒng)和一組稱之為工具箱的特殊應(yīng)用子程序。工具箱是MATLAB函數(shù)的子程序庫,每一個工具箱都是為某一類學(xué)科專業(yè)和應(yīng)用而定制的,主要包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應(yīng)用。
(7)應(yīng)用軟件開發(fā)(包括用戶界面)
在開發(fā)環(huán)境中,使用戶更方便地控制多個文件和圖形窗口;在編程方面支持了函
數(shù)嵌套,有條件中斷等;在圖形化方面,有了更強(qiáng)大的圖形標(biāo)注和處理功能,包括對性對起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5進(jìn)行連接。2.2matlab的應(yīng)用
MATLAB的應(yīng)用領(lǐng)域十分廣闊,典型的應(yīng)用舉例如下:
(1)數(shù)據(jù)分析(2)數(shù)值與符號計算;(3)工程與科學(xué)繪圖;(4)控制系統(tǒng)設(shè)計;(5)航天工業(yè);(6)汽車工業(yè);(7)生物醫(yī)學(xué)工程;(8)語音處理;
(9)圖像與數(shù)字信號處理;(10)財務(wù)、金融分析;(11)建模、仿真及樣機(jī)開發(fā);(12)新算法研究開發(fā);(13)圖形用戶界面設(shè)計。
3.matlab在電路分析中的應(yīng)用舉例
在電路分析中,隨著電路規(guī)模的加大,微分方程階數(shù)以及聯(lián)立方程的個數(shù)勢必增多,給解算帶來困難。傳統(tǒng)的計算機(jī)編程語言,如FORTRAN、C語言等在處理高階微分方程和大規(guī)模聯(lián)立方程組問題時,大量的時間和精力都花在矩陣處理(如矩陣輸入、求逆、稀疏矩陣處理等)和圖形的生成分析等繁瑣易錯的細(xì)節(jié)上。而被譽(yù)為第四代計算機(jī)語言的MATLAB在矩陣處理和圖形處理等方面有著得天獨厚的優(yōu)勢。利用MATLAB的M文件來求解電路方程,只需一個或幾個語句即可完成,同時MATLAB提供的Simulink工具可直接建立電路模擬模型,隨意改變模擬參數(shù),并且立即可得到修改后的模擬結(jié)果(Scope顯示),進(jìn)一步省去了編程的步驟。
1.圖一所示的電路中,Us=16V,R1=R3=R4=1Ω,R2=2Ω,K=4,求U10.:
求解此題的方程組為
7203201*1i1i2u1016
016
對應(yīng)的M文件為
A=[-7-20;-320;101];%定義方程組的系數(shù)矩陣AB=[16016];%定義右端矩陣C=A\\B%求解未知變量矩陣CC=4.000
6.000
12.000此為U10值
2.在圖3所示的電路中,R3=R6=1Ω,G8=1S,L1=1H,C4=1e-6F,
C9=2e-6F,US7=10sin100tV,IS2=2sin100Ta,g=1.用2b法求各支路的變量。
與圖3對應(yīng)的2b方程的矩陣形式為
其M文件為
A=[-100001000;-11000100;01000-1011;000100-100;0000-1000-1]
B=[110001000;001-100-100;0-1-1000010;0000-100-11]
C=[-10-1j*1E-40-111j*2E-4]Ye=diag(C)Ye(5,6)=-1
D=[j*10011-1110-1-1];Ze=diag(D)
Us=[00000010+j*000]"Is=[0-2+j*00000000]"E=zeros(5,9)F=zeros(4,9)G=[00000]"H=[0000]"W=[EA;BF;YeZe]N=[G;H;Us+Is]Xn=W\\N
第6條支路的電壓向量為1.0e+002*(-0.0000+0.0004i);計算其峰值為:0.05656V。
00AB0U0IUsIsYeZe3.圖6所示的電路中,開關(guān)s閉合前已達(dá)穩(wěn)定狀態(tài)。已知:R=0.1Q,C=1F,L=0.1H,e1(t)=10V,e(t)=5V,求開關(guān)s在時間t=0瞬時閉合后,電感支路上的電流iL(t)。
此題求解的二階微分方程如下:
d2iLdiL1010iL10002dtdtiL(0)0A
diL100dt(t0)
對應(yīng)的M文件為
dsolve("D2y+10*Dy+10*y=1000","Dy(0)=100","Y(0)=0")ans=100-101.6398*exp(-1.1270*t)+1.6398*exp(-8.8730*t)其解為iL(t)=100-101.6398e-1.1270t+1.6398e-8.8730t.
友情提示:本文中關(guān)于《MATLAB程序設(shè)計教程總結(jié)》給出的范例僅供您參考拓展思維使用,MATLAB程序設(shè)計教程總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。