MATLAB是一款主要用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境的軟件。
一、MATLAB軟件的簡介:
MATLAB由美國mathworks公司所發(fā)布,主要應(yīng)用方面是數(shù)值計算、可視化程序設(shè)計、交互式程序設(shè)計等高科技計算環(huán)境。
它集數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等各種十分強大的功于一個易于使用、便于觀察的視窗之內(nèi),可以為科學(xué)研究與工程設(shè)計等工作以及其他需要進行有效數(shù)值計算的眾多科學(xué)任務(wù)提供了一種具體而又全面的解決方法。
同時,MATLAB還在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進水平。
二、MATLAB的主要功能有以下幾個方面:
1、進行數(shù)值分析。
2、可以帶入數(shù)值和符號并進行相關(guān)計算。
3、在工程方面,還可以利用科學(xué)的方法繪制復(fù)雜精確的圖像。
4、運用于控制系統(tǒng)時,可以進行設(shè)計與仿真等內(nèi)容。
5、在面對數(shù)字圖像時,可以對圖像進行處理,編輯圖像的內(nèi)容。
6、可以對數(shù)字信號進行處理。
7、在通訊系統(tǒng)中,可以完成設(shè)計與仿真等任務(wù)。
8、除了工程領(lǐng)域之外,還可以應(yīng)用于財務(wù)與金融工程的分析與仿真等工作。
Matlab和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C ,JAVA的支持。
1.軟件下載完畢后點擊“預(yù)設(shè)”——“字體”更改自己需要的頁面設(shè)置。
2.主頁中點擊“新建”——“腳本”。新建的腳本就是當(dāng)前需要編輯的地方。
3.編輯完成之后按“Ctrl S”進行保存。
4.清除命令行窗口內(nèi)容,填寫“CLC”即可清除工作區(qū)內(nèi)容,在命令行窗口填寫“clear all”。
Matlab數(shù)據(jù)類型
Matlab data type
1.字符與字符串
1.Characters and strings
S=’a’ ’ ’中間所表示的所有內(nèi)容即為字符串
Abs(s) 表示為每個字符都有其對應(yīng)的ASCII值
Char( ) 表示字符串
Num2str(65) 表示為數(shù)字65轉(zhuǎn)換成為’65’
Length(str) 表示為字符串長度【其長度包括空格鍵】
全世界數(shù)以百萬計的工程師和科學(xué)家都在使用 MATLAB® 分析和設(shè)計改變著我們的世界的系統(tǒng)和產(chǎn)品?;诰仃嚨?MATLAB 語言是世界上表示計算數(shù)學(xué)最自然的方式??梢允褂脙?nèi)置圖形輕松可視化數(shù)據(jù)和深入了解數(shù)據(jù)。歡迎您使用桌面環(huán)境進行試驗、探索和發(fā)現(xiàn)。這些 MATLAB 工具和功能全部進行了嚴(yán)格測試,可彼此配合工作。
MATLAB 可幫助您不僅僅將自己的創(chuàng)意停留在桌面。您可以對大型數(shù)據(jù)集運行分析,并擴展到集群和云。MATLAB 代碼可以與其他語言集成,使您能夠在 Web、企業(yè)和生產(chǎn)系統(tǒng)中部署算法和應(yīng)用程序。
桌面基礎(chǔ)知識
在命令行上輸入語句并查看結(jié)果。
矩陣和數(shù)組
MATLAB 主要處理數(shù)組和矩陣,既可以整個處理,也可以部分處理。矩陣是指通常用來進行線性代數(shù)運算的二維數(shù)組。
數(shù)組索引
MATLAB 中的變量通常是可包含很多數(shù)字的數(shù)組。如果要訪問數(shù)組的選定元素,請使用索引。
工作區(qū)變量
工作區(qū)包含在 MATLAB 中創(chuàng)建或從數(shù)據(jù)文件或其他程序?qū)肫渲械淖兞俊?
文本和字符
為文本創(chuàng)建字符串?dāng)?shù)組,或為數(shù)據(jù)創(chuàng)建字符數(shù)組。
調(diào)用函數(shù)
MATLAB 提供了大量執(zhí)行計算任務(wù)的函數(shù)。要調(diào)用函數(shù),請將其輸入?yún)?shù)括在圓括號中。
二維圖和三維圖
圖形函數(shù)包括二維和三維繪圖函數(shù),用于以可視化形式呈現(xiàn)數(shù)據(jù)和通信的結(jié)果。
編程和腳本
最簡單的一種 MATLAB 程序稱為腳本。腳本包含一系列命令和函數(shù)調(diào)用。
幫助和文檔
所有函數(shù)都有輔助文檔,這些文檔包含一些示例,并介紹函數(shù)輸入、輸出和調(diào)用語法。
矩陣和幻方矩陣
輸入矩陣,執(zhí)行矩陣運算并訪問矩陣元素。
表達式
使用變量、數(shù)字、運算符、函數(shù)和表達式。
輸入命令
更改輸出格式,隱藏輸出,輸入長行,以及在命令行中進行編輯。
索引
訪問矩陣元素,通過串聯(lián)創(chuàng)建矩陣,以及刪除矩陣行和列。
數(shù)組類型
使用多維數(shù)組,元胞數(shù)組,字符與文本數(shù)據(jù)以及結(jié)構(gòu)體。
線性代數(shù)
本主題介紹如何在 MATLAB 中創(chuàng)建矩陣和執(zhí)行基本矩陣計算。
非線性函數(shù)的運算
可以創(chuàng)建任何 MATLAB 函數(shù)的句柄,并將該句柄用作引用該函數(shù)的一種方式。函數(shù)句柄通常在參數(shù)列表中傳遞給其他函數(shù),然后,其他函數(shù)可以使用該句柄執(zhí)行或計算相應(yīng)函數(shù)。
多變量數(shù)據(jù)
MATLAB 對多變量統(tǒng)計數(shù)據(jù)使用列向分析。數(shù)據(jù)集中的每一列都代表一個變量,每一行都代表一個觀測值。第 (i,j) 個元素是第 j 個變量的第 i 個觀測值。
基本繪圖函數(shù)
使用繪圖函數(shù)創(chuàng)建和修改繪圖。
創(chuàng)建網(wǎng)格圖和曲面圖
可視化包含兩個變量的函數(shù)。
顯示圖像
使用圖像。
打印圖形
打印和導(dǎo)出圖窗。
處理圖形對象
可視化包含兩個變量的函數(shù)。
控制流
使用流控制結(jié)構(gòu),包括 if、switch 和 case、for、while、continue 和 break。
腳本和函數(shù)
編寫腳本和函數(shù),使用全局變量,向函數(shù)傳遞字符參數(shù),使用 eval 計算文本表達式,向量化代碼,預(yù)分配數(shù)組,使用句柄引用函數(shù),以及使用處理函數(shù)的函數(shù)。
基本運算與函數(shù)
在MATLAB下進行基本數(shù)學(xué)運算,只需將運算式直接打入提示號(>>)之後,并按入Enter鍵即可。例如:
>> (5*2+1.3-0.8)*10/25
ans =4.2000
MATLAB會將運算結(jié)果直接存入一變數(shù)ans,代表MATLAB運算後的答案(Answer)并顯示其數(shù)值於螢?zāi)簧稀?
小提示: ">>"是MATLAB的提示符號(Prompt),但在PC中文視窗系統(tǒng)下,由於編碼方式不同,此提示符號常會消失不見,但這并不會影響到MATLAB的運算結(jié)果。
我們也可將上述運算式的結(jié)果設(shè)定給另一個變數(shù)x:
x = (5*2+1.3-0.8)*10^2/25
x = 42
此時MATLAB會直接顯示x的值。由上例可知,MATLAB認(rèn)識所有一般常用到的加(+)、減(-)、乘(*)、除(/)的數(shù)學(xué)運算符號,以及冪次運算(^)。
小提示: MATLAB將所有變數(shù)均存成double的形式,所以不需經(jīng)過變數(shù)宣告(Variabledeclaration)。MATLAB同時也會自動進行記憶體的使用和回收,而不必像C語言,必須由使用者一一指定.這些功能使的MATLAB易學(xué)易用,使用者可專心致力於撰寫程式,而不必被軟體枝節(jié)問題所干擾。
若不想讓MATLAB每次都顯示運算結(jié)果,只需在運算式最後加上分號(;)即可,如下例:
y = sin(10)*exp(-0.3*4^2);
若要顯示變數(shù)y的值,直接鍵入y即可:
>>y
y =-0.0045
在上例中,sin是正弦函數(shù),exp是指數(shù)函數(shù),這些都是MATLAB常用到的數(shù)學(xué)函數(shù)。
下表即為MATLAB常用的基本數(shù)學(xué)函數(shù)及三角函數(shù):
小整理:MATLAB常用的基本數(shù)學(xué)函數(shù)
abs(x):純量的絕對值或向量的長度
angle(z):復(fù) 數(shù)z的相角(Phase angle)
sqrt(x):開平方
real(z):復(fù)數(shù)z的實部
imag(z):復(fù)數(shù)z的虛 部
conj(z):復(fù)數(shù)z的共軛復(fù)數(shù)
round(x):四舍五入至最近整數(shù)
fix(x):無論正負(fù),舍去小數(shù)至最近整數(shù)
floor(x):地板函數(shù),即舍去正小數(shù)至最近整數(shù)
ceil(x):天花板函數(shù),即加入正小數(shù)至最近整數(shù)
rat(x):將實數(shù)x化為分?jǐn)?shù)表示
rats(x):將實數(shù)x化為多項分?jǐn)?shù)展開
sign(x):符號函數(shù) (Signum function)。
當(dāng)x<0時,sign(x)=-1;
當(dāng)x=0時,sign(x)=0;
當(dāng)x>0時,sign(x)=1。
> 小整理:MATLAB常用的三角函數(shù)
sin(x):正弦函數(shù)
cos(x):馀弦函數(shù)
tan(x):正切函數(shù)
asin(x):反正弦函數(shù)
acos(x):反馀弦函數(shù)
atan(x):反正切函數(shù)
atan2(x,y):四象限的反正切函數(shù)
sinh(x):超越正弦函數(shù)
cosh(x):超越馀弦函數(shù)
tanh(x):超越正切函數(shù)
asinh(x):反超越正弦函數(shù)
acosh(x):反超越馀弦函數(shù)
atanh(x):反超越正切函數(shù)