matlab入門(mén):matlab的基礎(chǔ)知識(shí)學(xué)習(xí)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
全世界數(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)用程序。
適合具有高數(shù)基礎(chǔ)的科研小白。
作為一個(gè)工科生,軟件的使用是非常重要且必不可少的。如果你的計(jì)算機(jī)基礎(chǔ)非常扎實(shí),已經(jīng)熟練掌握Python,R等語(yǔ)言了,想必你已經(jīng)會(huì)自行編寫(xiě)代碼了,那么請(qǐng)右上方X劃走。
本文主要針對(duì)即將開(kāi)始科研學(xué)習(xí),但還沒(méi)有編程基礎(chǔ)的同學(xué)們閱讀了解。MATLAB作為一個(gè)在學(xué)術(shù)界橫行多年的老將,仍舊有其不可替代的優(yōu)勢(shì)。
1 思維概念
計(jì)算機(jī)編程的基礎(chǔ)是數(shù)學(xué)。我們要樹(shù)立一個(gè)基本的認(rèn)識(shí),那就是計(jì)算機(jī)編程只是一種語(yǔ)言,一種把數(shù)學(xué)題變?yōu)橛?jì)算機(jī)可以識(shí)別的語(yǔ)句執(zhí)行的語(yǔ)言。進(jìn)一步延展概念,數(shù)學(xué)其實(shí)也是一種語(yǔ)言,數(shù)學(xué)是一種把世界萬(wàn)事萬(wàn)物和現(xiàn)實(shí)問(wèn)題都用字符表示的表達(dá)方式。那么數(shù)學(xué)和計(jì)算機(jī)科學(xué)都只是我們思維方式的體現(xiàn)形式,所以,當(dāng)我們遇到一個(gè)問(wèn)題后,第一步是你要思考究竟采用什么解決辦法;第二步是思考這種解決方法用數(shù)學(xué)語(yǔ)句如何表述;第三步是這種解決辦法用計(jì)算機(jī)如何正確表達(dá)。
2 數(shù)學(xué)基礎(chǔ)
在學(xué)習(xí)Matlab前,首先要具備基礎(chǔ)的高數(shù)知識(shí),最最基礎(chǔ)的是一定要了解矩陣的概念、矩陣的運(yùn)算規(guī)則、積分、微分、多元回歸等。后期如果需要深入開(kāi)展科學(xué)研究,可以進(jìn)一步了解相關(guān)數(shù)學(xué)內(nèi)容 ,比如傅里葉變換、相關(guān)分析、參數(shù)優(yōu)化等內(nèi)容。
2、每一個(gè)腳本(也就是代碼頁(yè),也就是.m文件)第一行都應(yīng)該先寫(xiě)下第一行----clear all ;close all;意思是清除和關(guān)閉之前運(yùn)行的程序或存儲(chǔ)內(nèi)容
3、每一句表達(dá)的語(yǔ)句最后用分號(hào)做結(jié)尾
4、變量是指有名稱(chēng)但里面的內(nèi)容可變的東西??梢詫⑺鼈兛粗鎯?chǔ)空間,甚至假想為一大堆用來(lái)存儲(chǔ)的箱子。
5、%放在語(yǔ)句后,意思是后面的內(nèi)容是注釋?zhuān)瑩Q行就不算注釋了。
作為一個(gè)功能強(qiáng)大的計(jì)算軟件,輸入數(shù)據(jù)是非常重要的,首先就要根據(jù)你的數(shù)據(jù)存儲(chǔ)形式選擇合適的輸入函數(shù)了。
【埋頭苦干法】最笨的辦法,就是自己定義,你想讓變量是幾,你就自己寫(xiě)。
例如:a=1;定義變量a的值為1;
a=[1,2,3;4,5,6];定義變量是一個(gè)2行3列的矩陣;
a=[];定義變量a,但是數(shù)值不定,一般默認(rèn)為浮點(diǎn)型變量。
【借助工具法】
聰明人選擇根據(jù)數(shù)據(jù)存儲(chǔ)類(lèi)型直接導(dǎo)入,一次計(jì)算可以采用頁(yè)面上的快捷鍵工具。如下圖所示。如果需要保存文件且不丟失,建議在命令行中寫(xiě)下代碼。MATLAB系統(tǒng)環(huán)境
...為續(xù)行符,將下一行視為一行
先創(chuàng)立當(dāng)前文件夾再 cd
MATLAB搜索順序?yàn)?變量>內(nèi)部函數(shù)>程序文件 這意味著,同名的變量相對(duì)于內(nèi)部函數(shù)會(huì)優(yōu)先,所以盡量不要同名
先當(dāng)前文件再搜搜索路徑設(shè)置的文件
MATLAB數(shù)值數(shù)據(jù)
整型
uint8函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換為無(wú)符號(hào)8位整數(shù) 0~255
int8函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換為帶符號(hào)8位整數(shù) -128~127 超過(guò)127則為127
浮點(diǎn)型
浮點(diǎn)型數(shù)據(jù)分為單精度型和雙精度類(lèi)型,單精度型實(shí)數(shù)在內(nèi)存中占用4個(gè)字節(jié),而雙精度型實(shí)數(shù)在內(nèi)存中占用8個(gè)字節(jié),所以雙精度型的數(shù)據(jù)精度更高。MATLAB數(shù)值數(shù)據(jù)默認(rèn)雙精度型
single函數(shù):將其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為單精度型
double函數(shù):將其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為雙精度型
復(fù)型
復(fù)型數(shù)據(jù)包括實(shí)部和虛部?jī)蓚€(gè)部分,實(shí)部和虛部默認(rèn)為雙精度型,虛數(shù)單位用i或j來(lái)表示。
real函數(shù):求復(fù)數(shù)的實(shí)部
imag函數(shù):求復(fù)數(shù)的虛部
format
命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ)。
函數(shù)的調(diào)用格式為:
函數(shù)名(函數(shù)自變量的值)
函數(shù)的自變量規(guī)定為矩陣變量,也可以是標(biāo)量。
函數(shù)在運(yùn)算時(shí)是將函數(shù)逐項(xiàng)作用于矩陣的每個(gè)元素上,所以最后運(yùn)算的結(jié)果就是一個(gè)與自變量同
型的矩陣。
三角函數(shù)有以弧度為單位的函數(shù)和以角度為單位的函數(shù),
如果是以角度為單位的函數(shù)就在函數(shù)名后面加“d”,以示區(qū)別。sin sind
abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。
round函數(shù)按照四舍五入的規(guī)則取整。 round(4.7) 5
ceil函數(shù)是向上取整,取大于等于這個(gè)數(shù)的第一個(gè)整數(shù)。 ceil(-3.8) -3
floor函數(shù)是向下取整,取小于等于這個(gè)數(shù)的第一個(gè)整數(shù)。floor(3.6) 3
fix函數(shù)是固定取靠近0的那個(gè)整數(shù),即舍去小數(shù)取整。fix(-3.2) -3
MATLAB提供了一個(gè)判斷n是否素?cái)?shù)的函數(shù)
isprime(n) ,當(dāng)n是素?cái)?shù)時(shí)返回1,否則返回0。
k=find(X)返回?cái)?shù)組X中非零元素的位置
MATLAB 是“matrix laboratory”的縮寫(xiě)形式。MATLAB® 主要用于處理整個(gè)的矩陣和數(shù)組,而其他編程語(yǔ)言大多逐個(gè)處理數(shù)值。矩陣是指通常用來(lái)進(jìn)行線(xiàn)性代數(shù)運(yùn)算的二維數(shù)組。
MATLAB 是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB擁有豐富的算法工具箱,因此在工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域都能看到它的身影,可謂是無(wú)處不在。功能強(qiáng)大,MATLAB 安裝包比較大,R2018b版12G。
matlab安裝包體積巨大,下載安裝都是比較耗時(shí)的,正版軟件太貴。你可以使用云超級(jí)應(yīng)用,簡(jiǎn)單的來(lái)說(shuō)就是軟件搭載服務(wù)器上,你不用安裝到本地電腦,只要有網(wǎng)絡(luò)即可進(jìn)行學(xué)習(xí)實(shí)驗(yàn)??梢杂么肆私鈱W(xué)習(xí)。
在線(xiàn)版matlab(網(wǎng)頁(yè)版,web版),不用安裝了,可以用此了解學(xué)習(xí).
沒(méi)有注冊(cè)賬號(hào),先注冊(cè),注冊(cè)時(shí)需要使用手機(jī)接收驗(yàn)證消息。
在命令行上輸入語(yǔ)句并查看結(jié)果。
矩陣和數(shù)組
MATLAB 主要處理數(shù)組和矩陣,既可以整個(gè)處理,也可以部分處理。矩陣是指通常用來(lái)進(jìn)行線(xiàn)性代數(shù)運(yùn)算的二維數(shù)組。
數(shù)組索引
MATLAB 中的變量通常是可包含很多數(shù)字的數(shù)組。如果要訪(fǎng)問(wèn)數(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 程序稱(chēng)為腳本。腳本包含一系列命令和函數(shù)調(diào)用。
幫助和文檔
所有函數(shù)都有輔助文檔,這些文檔包含一些示例,并介紹函數(shù)輸入、輸出和調(diào)用語(yǔ)法。
矩陣和幻方矩陣
輸入矩陣,執(zhí)行矩陣運(yùn)算并訪(fǎng)問(wèn)矩陣元素。
表達(dá)式
使用變量、數(shù)字、運(yùn)算符、函數(shù)和表達(dá)式。
輸入命令
更改輸出格式,隱藏輸出,輸入長(zhǎng)行,以及在命令行中進(jìn)行編輯。
索引
訪(fǎng)問(wèn)矩陣元素,通過(guò)串聯(lián)創(chuàng)建矩陣,以及刪除矩陣行和列。
數(shù)組類(lèi)型
使用多維數(shù)組,元胞數(shù)組,字符與文本數(shù)據(jù)以及結(jié)構(gòu)體。
線(xiàn)性代數(shù)
本主題介紹如何在 MATLAB 中創(chuàng)建矩陣和執(zhí)行基本矩陣計(jì)算。
非線(xiàn)性函數(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ù)
編寫(xiě)腳本和函數(shù),使用全局變量,向函數(shù)傳遞字符參數(shù),使用 eval 計(jì)算文本表達(dá)式,向量化代碼,預(yù)分配數(shù)組,使用句柄引用函數(shù),以及使用處理函數(shù)的函數(shù)。