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