您的位置:首頁>正文

MATLAB|資料計算、分析、優化、視覺化(簡單易懂入門)

目錄

1 歷史版本和工作介面

2 MATLAB命令的執行方式和程式設計

3 數值與符號計算

4 資料的視覺化(工程與科學繪圖)

5 M語言和工具箱

6 資料的分析與統計

7 Matlab優化

8 Simulink建模與模擬

MATLAB和Mathematica、Maple並稱為三大數學軟體。 它在數學類科技應用軟體中在數值計算方面首屈一指。 MATLAB可以進行矩陣運算、繪製函數和資料、實現演算法、創建使用者介面、連接其他程式設計語言的程式等, 主要應用於工程計算、控制設計、信號處理與通訊、影像處理、信號檢測、金融建模設計與分析等領域。

MATLAB語言是以矩陣計算(所有的資料都是以陣列的形式來表示和存儲的)為基礎的程式設計語言,

它包含控制語句、函數、資料結構、輸入和輸出和物件導向程式設計特點。 使用者可以在命令視窗中將輸入語句與執行命令同步, 也可以先編寫好一個較大的複雜的應用程式(M檔)後再一起運行。 新版本的MATLAB語言是基於最為流行的C++語言基礎上的, 因此語法特徵與C++語言極為相似, 而且更加簡單, 更加符合科技人員對數學運算式的書寫格式。 使之更利於非電腦專業的科技人員使用。 而且這種語言可攜性好、可拓展性極強, 這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。

MATLAB是一個包含大量計算演算法的集合。 其擁有600多個工程中要用到的數學運算函數, 可以方便的實現用戶所需的各種計算功能。

函數中所使用的演算法都是科研和工程計算中的最新研究成果, 而且經過了各種優化和容錯處理。 在通常情況下, 可以用它來代替底層程式設計語言, 如C和C++ 。 在計算要求相同的情況下, 使用MATLAB的程式設計工作量會大大減少。 MATLAB的這些函數集包括從最簡單最基本的函數到諸如矩陣, 特徵向量、快速傅立葉轉換的複雜函數。 函數所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉轉換和資料的統計分析、工程中的優化問題、疏鬆陣列運算、複數的各種運算、三角函數和其他初等數學運算、多維陣列操作以及建模動態模擬等。

MATLAB自產生之日起就具有方便的資料視覺化功能,

以將向量和矩陣用圖形表現出來, 並且可以對圖形進行標注和列印。 高層次的作圖包括二維和三維的視覺化、圖像處理、動畫和運算式作圖。 可用於科學計算和工程繪圖。

新版本的MATLAB可以利用MATLAB編譯器和C/C++數學庫和圖形庫, 將自己的MATLAB程式自動轉換為獨立於MATLAB運行的C和C++代碼。 允許用戶編寫可以和MATLAB進行交互的C或C++語言程式。 另外, MATLAB網頁服務程式還容許在Web應用中使用自己的MATLAB數學和圖形程式。

MATLAB 產品族可以用來進行以下各種工作:

數值和符號計算:算術、方程、微積分等;

數值分析:求最大值、最小值、平均值等;

工程與科學繪圖:資料和函數的視覺化;

控制系統的設計與模擬;

數位影像處理技術;

數位信號處理技術;

管理與調度優化計算(運籌學);

建模與模擬;

1 歷史版本和工作介面

1.1 歷史版本

MATLAB 7(R14):2004開發的版本。

MATLAB 8.0(2012b版):在MATLAB Desktop 中, 工具條取代了功能表和工具列。

2014b版:推出了全新的 MATLAB 圖形系統。 全新的預設顏色、字體和樣式便於資料解釋。 抗鋸齒字體和線條使文字和圖形看起來更平滑。 圖形物件便於使用 – 您可以在命令視窗中顯示常用屬性, 並且物件支援熟悉的結構化語法, 可以更改屬性值。 另外, 還增加了許多其他新功能。

1.2 工作介面

I 命令視窗Command Window

MATLAB是互動式語言, 輸入命令即給出運算結果。 指令視窗的常用功能主要包括算數運算、運算式運算、函數繪圖、功能標點符、常用控制指令等。

II 工作空間Workspace

記憶體變數的指令操作和資料的檔存取。

III 歷史指令視窗Command History

用於記錄在指令視窗中運行過的所有指令, 這些指令可以被複製, 也可以送到指令視窗中再次運行。

IV 當前資料夾窗口Current Folder

MATLAB

7.8.0 R2009a

R2013a

Matlab是一個很多功能的軟體,很多功能用不到,安裝的時候就不要安裝了, 這樣啟動的速度會快很多的。

2 MATLAB命令的執行方式和M語言程式設計

2.1 互動式命令的執行方式(命令視窗)

逐條輸入,逐條執行,操作簡單、直觀,但速度慢,執行過程不能保留。

2.2 M檔的執行方式

將命令編成程式保存在一個檔中(M檔),依次運行檔中的命令,可以重複進行。M檔是由若干Matlab命令組成在一起構成的,它可以完成某些操作,也可以實現某種演算法。

M檔根據調用方式的不同分為兩類(副檔名都是.m):

I 命令文件Script File:沒有輸入參數,也不返回輸出參數;命令檔對工作空間中的變數進行操作,檔中所有命令的執行結果也返回工作空間中。命令檔可以直接運行。

II 函數檔Function File:可以帶輸入參數,也可以返回輸出參數;函數檔中定義的變數為區域變數,當函數檔執行完畢時,這些變數也被清除。函數檔不能直接運行,要以函式呼叫的方式來調用它。

2.3 M語言程式設計

利用M語言可以通過編寫腳本或者函數檔實現使用者自己的演算法。

新建一個M檔,通過檔-新建,或者通過快捷方式都可以,然後,在M檔中輸入如下代碼:

function [a,b]=example(x1,x2)

a=x1;

b=x1+x2;

我們完成了函數的編寫。

在MATLAB主視窗中輸入如下命令;[a,b]=example(1,2),回車。

我們可以看到如下結果:

a =1 b=3,我們完成了函數的調用。

求一元二次方程ax²+bx+c=0的根

a=input('a=?');

b=input('b=?');

c=input('c=?');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);

程式輸出為:

a=?4

b=?78

c=?54

x1=-0.7188,x2=-18.7812

求[100,200]之間第一個能被21整隊的整數。

for n=100:200

if rem(n,21)~=0;

continue

end

break

end

n

程式輸出結果為:

n=

105

3 數值與符號計算

3.1 數值計算

數值計算主要指數值陣列及矩陣的運算。

>>1-sin(pi/2)+100*(1-3^2)

ans=

-800

3.2 符號計算

MATLAB為符號計算提供了一種引入符號物件的數學運算工具箱,包含函數的複合、簡化、極限、積分、泰勒展開式、級數求和,以及求解代數方程和微分方程等函數命令。

如求y=x³+x²+x+1的導數:

>>syms x

>>y=x^3+x^2+x+1

>>D1=iff(y)

D1=3*x^2+2*x+1

4 資料的視覺化(工程與科學繪圖)

下面舉一個簡單的例子,繪製余弦曲線y=sinx。

4.1 產生工作區變數

在命令列視窗中輸入命令:

>>x = 0:pi/100:2*pi; %在區間[0,2π]中插入間隔為π/100的點

>>y=sin(x); %計算對應x的點的函數值

運行後,則在"Workspace"中顯示記憶體變數x和y。

4.2 變數選定

在"Workspace"中,按一下所需繪圖的變數x和y,由x和y在工具列左邊顯示。

4.3 繪圖

選擇“PLOTS"選項卡中的相應選項,繪製區域圖:

5 M語言和工具箱

MATLAB提供了基本的數學演算法,例如矩陣運算、數值分析演算法,也集成了2D和3D圖形功能,以完成相應數值視覺化的工作,並且提供了一種互動式的高級程式設計語言-M語言,利用M語言可以通過編寫腳本或者函數檔實現使用者自己的演算法。

利用M語言還開發了相應的MATLAB專業工具箱函數供使用者直接使用,這些工具箱應用的演算法是開放的、可擴展的,用戶不僅可以察看其中的演算法,還可以針對一些演算法進行修改,甚至允許開發自己的演算法以便擴充工具箱的功能。目前MATLAB產品的工具箱有40多種,分別涵蓋了資料獲取、科學計算、控制系統設計與分析、數位信號處理、數位影像處理、金融財務分析以及生物遺傳工程等專業領域。

MATLAB的一個重要特色就是具有一套程式擴展系統和一組稱之為工具箱的特殊應用副程式。工具箱是MATLAB函數的副程式庫,每一個工具箱都是由特定領域的專家開發的、為某一類學科專業和應用而定制的,主要包括信號處理、控制系統、神經網路、模糊邏輯、小波分析和系統模擬等方面的應用。

6 資料的分析與統計

在經營管理活動中,往往會產生大量的統計資料,對這些資料進行科學分析,可以提高管理決策水準。

資料分析是用適當的統計方法對各種資料加以詳細研究和概括總結的過程,已成為當代自然科學和社會科學各個學科研究者必備的知識。matlab是一套高性能的數值計算和視覺化軟體,是實現資料分析與處理的有效工具。資料分析主要內容包括:資料描述性分析、回歸分析、判別分析、主成分分析與典型相關分析、聚類分析、數值模擬分析等。

7 Matlab優化

在生活中,人們對於同一個問題往往會提出多個解決方案,並通過各方面的論證從中提取最佳方案。例如:對於工廠企業而言,如何在消耗總工時最小的情況下獲取最大的產品數量?如何安排物流秩序,在滿足最大效率的前提下,達到成本最低、運費最小?最優化方法就是專門研究如何從多個方案中科學合理地提取出最優方案的技術。

利用Matlab的優化工具箱,可以求解線性規劃、非線性規劃和多目標規劃問題。具體而言,包括線性、非線性最小化、最大化,二次規劃,曲線擬合,半無限問題,線性、非線性方程(組)的求解,線性、非線性的最小二乘等問題。

7.1 建立數學模型:即用數學語言來描述最優化問題。模型中的數學關係式反映了最優化問題所要達到的目標和各種約束條件。

7.2 數學求解:數學模型建立好後,選擇合理的最優化方法進行求解。

優化的一般步驟

8 Simulink建模與模擬

Simulink是Simulation(模擬模擬)和Link(連接)的組合詞。

Simulink提供一個動態系統建模、模擬和綜合分析的集成環境。在該環境中,無需大量書寫程式,而只需要通過簡單直觀的滑鼠操作,就可構造出複雜的系統。

Simulink是用於動態系統和嵌入式系統的多領域模擬和基於模型的設計工具,對各種時變系統,包括通信、控制、信號處理、視頻處理和影像處理等系統,Simulink提供了互動式圖形化環境和可定制模組庫來對其進行設計、模擬、執行和測試。

Simulink可以提供研究物件的建模、模擬和分析,使用圖形化的系統模組對研究物件進行描述,每個模組就像實驗室中的一台儀器,可以根據需要進行不同的組合以達到不同的研究目的。

在Simulink中,模組是模擬的基石,將這些模組相連接構成系統,就可以進行模擬,運行結果可以用圖形的形式顯示出來,整個模擬過程非常簡潔、方便、直觀。

reference:

https://wenku.baidu.com/view/ce6b000ffe4733687e21aab0.html

7.8.0 R2009a

R2013a

Matlab是一個很多功能的軟體,很多功能用不到,安裝的時候就不要安裝了, 這樣啟動的速度會快很多的。

2 MATLAB命令的執行方式和M語言程式設計

2.1 互動式命令的執行方式(命令視窗)

逐條輸入,逐條執行,操作簡單、直觀,但速度慢,執行過程不能保留。

2.2 M檔的執行方式

將命令編成程式保存在一個檔中(M檔),依次運行檔中的命令,可以重複進行。M檔是由若干Matlab命令組成在一起構成的,它可以完成某些操作,也可以實現某種演算法。

M檔根據調用方式的不同分為兩類(副檔名都是.m):

I 命令文件Script File:沒有輸入參數,也不返回輸出參數;命令檔對工作空間中的變數進行操作,檔中所有命令的執行結果也返回工作空間中。命令檔可以直接運行。

II 函數檔Function File:可以帶輸入參數,也可以返回輸出參數;函數檔中定義的變數為區域變數,當函數檔執行完畢時,這些變數也被清除。函數檔不能直接運行,要以函式呼叫的方式來調用它。

2.3 M語言程式設計

利用M語言可以通過編寫腳本或者函數檔實現使用者自己的演算法。

新建一個M檔,通過檔-新建,或者通過快捷方式都可以,然後,在M檔中輸入如下代碼:

function [a,b]=example(x1,x2)

a=x1;

b=x1+x2;

我們完成了函數的編寫。

在MATLAB主視窗中輸入如下命令;[a,b]=example(1,2),回車。

我們可以看到如下結果:

a =1 b=3,我們完成了函數的調用。

求一元二次方程ax²+bx+c=0的根

a=input('a=?');

b=input('b=?');

c=input('c=?');

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);

程式輸出為:

a=?4

b=?78

c=?54

x1=-0.7188,x2=-18.7812

求[100,200]之間第一個能被21整隊的整數。

for n=100:200

if rem(n,21)~=0;

continue

end

break

end

n

程式輸出結果為:

n=

105

3 數值與符號計算

3.1 數值計算

數值計算主要指數值陣列及矩陣的運算。

>>1-sin(pi/2)+100*(1-3^2)

ans=

-800

3.2 符號計算

MATLAB為符號計算提供了一種引入符號物件的數學運算工具箱,包含函數的複合、簡化、極限、積分、泰勒展開式、級數求和,以及求解代數方程和微分方程等函數命令。

如求y=x³+x²+x+1的導數:

>>syms x

>>y=x^3+x^2+x+1

>>D1=iff(y)

D1=3*x^2+2*x+1

4 資料的視覺化(工程與科學繪圖)

下面舉一個簡單的例子,繪製余弦曲線y=sinx。

4.1 產生工作區變數

在命令列視窗中輸入命令:

>>x = 0:pi/100:2*pi; %在區間[0,2π]中插入間隔為π/100的點

>>y=sin(x); %計算對應x的點的函數值

運行後,則在"Workspace"中顯示記憶體變數x和y。

4.2 變數選定

在"Workspace"中,按一下所需繪圖的變數x和y,由x和y在工具列左邊顯示。

4.3 繪圖

選擇“PLOTS"選項卡中的相應選項,繪製區域圖:

5 M語言和工具箱

MATLAB提供了基本的數學演算法,例如矩陣運算、數值分析演算法,也集成了2D和3D圖形功能,以完成相應數值視覺化的工作,並且提供了一種互動式的高級程式設計語言-M語言,利用M語言可以通過編寫腳本或者函數檔實現使用者自己的演算法。

利用M語言還開發了相應的MATLAB專業工具箱函數供使用者直接使用,這些工具箱應用的演算法是開放的、可擴展的,用戶不僅可以察看其中的演算法,還可以針對一些演算法進行修改,甚至允許開發自己的演算法以便擴充工具箱的功能。目前MATLAB產品的工具箱有40多種,分別涵蓋了資料獲取、科學計算、控制系統設計與分析、數位信號處理、數位影像處理、金融財務分析以及生物遺傳工程等專業領域。

MATLAB的一個重要特色就是具有一套程式擴展系統和一組稱之為工具箱的特殊應用副程式。工具箱是MATLAB函數的副程式庫,每一個工具箱都是由特定領域的專家開發的、為某一類學科專業和應用而定制的,主要包括信號處理、控制系統、神經網路、模糊邏輯、小波分析和系統模擬等方面的應用。

6 資料的分析與統計

在經營管理活動中,往往會產生大量的統計資料,對這些資料進行科學分析,可以提高管理決策水準。

資料分析是用適當的統計方法對各種資料加以詳細研究和概括總結的過程,已成為當代自然科學和社會科學各個學科研究者必備的知識。matlab是一套高性能的數值計算和視覺化軟體,是實現資料分析與處理的有效工具。資料分析主要內容包括:資料描述性分析、回歸分析、判別分析、主成分分析與典型相關分析、聚類分析、數值模擬分析等。

7 Matlab優化

在生活中,人們對於同一個問題往往會提出多個解決方案,並通過各方面的論證從中提取最佳方案。例如:對於工廠企業而言,如何在消耗總工時最小的情況下獲取最大的產品數量?如何安排物流秩序,在滿足最大效率的前提下,達到成本最低、運費最小?最優化方法就是專門研究如何從多個方案中科學合理地提取出最優方案的技術。

利用Matlab的優化工具箱,可以求解線性規劃、非線性規劃和多目標規劃問題。具體而言,包括線性、非線性最小化、最大化,二次規劃,曲線擬合,半無限問題,線性、非線性方程(組)的求解,線性、非線性的最小二乘等問題。

7.1 建立數學模型:即用數學語言來描述最優化問題。模型中的數學關係式反映了最優化問題所要達到的目標和各種約束條件。

7.2 數學求解:數學模型建立好後,選擇合理的最優化方法進行求解。

優化的一般步驟

8 Simulink建模與模擬

Simulink是Simulation(模擬模擬)和Link(連接)的組合詞。

Simulink提供一個動態系統建模、模擬和綜合分析的集成環境。在該環境中,無需大量書寫程式,而只需要通過簡單直觀的滑鼠操作,就可構造出複雜的系統。

Simulink是用於動態系統和嵌入式系統的多領域模擬和基於模型的設計工具,對各種時變系統,包括通信、控制、信號處理、視頻處理和影像處理等系統,Simulink提供了互動式圖形化環境和可定制模組庫來對其進行設計、模擬、執行和測試。

Simulink可以提供研究物件的建模、模擬和分析,使用圖形化的系統模組對研究物件進行描述,每個模組就像實驗室中的一台儀器,可以根據需要進行不同的組合以達到不同的研究目的。

在Simulink中,模組是模擬的基石,將這些模組相連接構成系統,就可以進行模擬,運行結果可以用圖形的形式顯示出來,整個模擬過程非常簡潔、方便、直觀。

reference:

https://wenku.baidu.com/view/ce6b000ffe4733687e21aab0.html

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示