matlab入門教學(xué),matlab基礎(chǔ)知識(shí)介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于數(shù)據(jù)分析、無線通信、深度學(xué)習(xí)、圖像處理與計(jì)算機(jī)視覺、信號(hào)處理、量化金融與風(fēng)險(xiǎn)管理、機(jī)器人,控制系統(tǒng)等領(lǐng)域。 MATLAB是matrix&laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室),軟件主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式。
MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對(duì)C,F(xiàn)ORTRAN,C++,JAVA的支持。
適合具有高數(shù)基礎(chǔ)的科研小白。
作為一個(gè)工科生,軟件的使用是非常重要且必不可少的。如果你的計(jì)算機(jī)基礎(chǔ)非常扎實(shí),已經(jīng)熟練掌握Python,R等語言了,想必你已經(jīng)會(huì)自行編寫代碼了,那么請(qǐng)右上方X劃走。
本文主要針對(duì)即將開始科研學(xué)習(xí),但還沒有編程基礎(chǔ)的同學(xué)們閱讀了解。MATLAB作為一個(gè)在學(xué)術(shù)界橫行多年的老將,仍舊有其不可替代的優(yōu)勢(shì)。
1 思維概念
計(jì)算機(jī)編程的基礎(chǔ)是數(shù)學(xué)。我們要樹立一個(gè)基本的認(rèn)識(shí),那就是計(jì)算機(jī)編程只是一種語言,一種把數(shù)學(xué)題變?yōu)橛?jì)算機(jī)可以識(shí)別的語句執(zhí)行的語言。進(jìn)一步延展概念,數(shù)學(xué)其實(shí)也是一種語言,數(shù)學(xué)是一種把世界萬事萬物和現(xiàn)實(shí)問題都用字符表示的表達(dá)方式。那么數(shù)學(xué)和計(jì)算機(jī)科學(xué)都只是我們思維方式的體現(xiàn)形式,所以,當(dāng)我們遇到一個(gè)問題后,第一步是你要思考究竟采用什么解決辦法;第二步是思考這種解決方法用數(shù)學(xué)語句如何表述;第三步是這種解決辦法用計(jì)算機(jī)如何正確表達(dá)。
2 數(shù)學(xué)基礎(chǔ)
在學(xué)習(xí)Matlab前,首先要具備基礎(chǔ)的高數(shù)知識(shí),最最基礎(chǔ)的是一定要了解矩陣的概念、矩陣的運(yùn)算規(guī)則、積分、微分、多元回歸等。后期如果需要深入開展科學(xué)研究,可以進(jìn)一步了解相關(guān)數(shù)學(xué)內(nèi)容 ,比如傅里葉變換、相關(guān)分析、參數(shù)優(yōu)化等內(nèi)容。
MATLAB的基本知識(shí)
1-1、基本運(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語言,必須由使用者一一指定.這些功能使的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ì)值或向量的長度
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):無論正負(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ù)
變數(shù)也可用來存放向量或矩陣,并進(jìn)行各種運(yùn)算,如下例的列向量(Row vector)運(yùn)算:
x = [1 3 5 2];
y = 2*x+1
y = 3 7 11 5
小提示:變數(shù)命名的規(guī)則
1.第一個(gè)字母必須是英文字母 2.字母間不可留空格 3.最多只能有19個(gè)字母,MATLAB會(huì)忽略多馀字母
我們可以隨意更改、增加或刪除向量的元素:
y(3) = 2 % 更改第三個(gè)元素
y =3 7 2 5
y(6) = 10 % 加入第六個(gè)元素
y = 3 7 2 5 0 10
y(4) = [] % 刪除第四個(gè)元素,
y = 3 7 2 0 10
在上例中,MATLAB會(huì)忽略所有在百分比符號(hào)(%)之後的文字,因此百分比之後的文字均可視為程式的注解(Comments)。MATLAB亦可取出向量的一個(gè)元素或一部份來做運(yùn)算:
x(2)*3+y(4) % 取出x的第二個(gè)元素和y的第四個(gè)元素來做運(yùn)算
ans = 9
y(2:4)-1 % 取出y的第二至第四個(gè)元素來做運(yùn)算
ans = 6 1 -1
在上例中,2:4代表一個(gè)由2、3、4組成的向量
全世界數(shù)以百萬計(jì)的工程師和科學(xué)家都在使用 MATLAB® 分析和設(shè)計(jì)改變著我們的世界的系統(tǒng)和產(chǎn)品。基于矩陣的 MATLAB 語言是世界上表示計(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 代碼可以與其他語言集成,使您能夠在 Web、企業(yè)和生產(chǎn)系統(tǒng)中部署算法和應(yīng)用程序。