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|數據計算、分析、優化、可視化(簡單易懂入門)

MATLAB

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

7.8.0 R2009a

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

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

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

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

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

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"選項卡中的相應選項,繪製區域圖:

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

5 M語言和工具箱

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

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

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

6 數據的分析與統計

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

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

7 Matlab優化

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

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

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

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

MATLAB|數據計算、分析、優化、可視化(簡單易懂入門)

優化的一般步驟

8 Simulink建模與仿真

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


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

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

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

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

reference:

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


分享到:


相關文章: