- MATLAB/Simulink與過程控制系統仿真
- 王正林 郭陽寬編著
- 1722字
- 2019-01-01 12:46:19
2.1 MATLAB概述
經過30余年的補充與完善以及多個版本的升級換代,MATLAB現已發展成一個包含眾多工程計算、仿真功能及工具的龐大系統,是目前世界上最流行的仿真計算軟件。MATLAB軟件和工具箱(TOOLBOX)以及Simulink仿真工具,為控制系統的計算與仿真提供了強有力的支持。
2.1.1 MATLAB發展歷程
MATLAB的產生是與數學計算緊密聯系在一起的。1980年,美國新墨西哥州大學計算機系主任Cleve Moler在給學生講授線性代數課程時,發現學生在高級語言編程上花費很多時間,于是著手編寫供學生使用的Fortran子程序庫接口程序,他將這個接口程序取名為MATLAB(即Matrix Laboratory的前三個字母的組合,意為“矩陣實驗室”)。這個程序獲得了很大的成功,受到學生的廣泛歡迎。
20世紀80年代初期,Moler等一批數學家與軟件專家組建了MathWorks軟件開發公司,繼續從事MATLAB的研究和開發,1984年推出了第一個MATLAB商業版本,其核心軟件是用C語言編寫的。而后,它又添加了豐富多彩的圖形圖像處理、多媒體、符號運算以及與其他流行軟件的接口功能,使得MATLAB的功能越來越強大。
MathWorks公司正式推出MATLAB后,于1992年推出了具有劃時代意義的MATLAB 4.0版本,之后陸續推出了幾個改進和提高的版本,2004年9月正式推出MATLAB Release 14,即MATLAB 7/Simulink 6.0,這是非常重要的一個版本。
此后,幾乎形成了一個規律,每年的3月和9月推出當年的a和b版本,目前的最新版本是MATLAB 2012a。
MATLAB經過幾十年的研究與不斷完善,現已成為國際上最為流行的科學計算與工程計算軟件工具之一,現在的MATLAB已經不僅是一個最初的“矩陣實驗室”了,它已發展成為一種具有廣泛應用前景、全新的計算機高級編程語言,可以說它是“第四代”計算機語言。
自20世紀90年代起,在美國和歐洲大學中,已將MATLAB正式列入研究生和本科生的教學計劃,MATLAB軟件已成為應用代數、自動控制理論、數理統計、數字信號處理、時間序列分析、系統仿真等課程的基本教學工具,成為學生所必須掌握的基本軟件之一。在研究單位和工業界,MATLAB也成為工程師們必須掌握的一種工具,被認為是進行高效研究與開發的首選軟件工具。
2.1.2 MATLAB系統構成
MATLAB系統由MATLAB開發環境、MATLAB數學函數庫、MATLAB語言、MATLAB圖形處理系統和MATLAB應用程序接口(API)五大部分構成。
1.MATLAB開發環境
MATLAB開發環境是一套方便用戶使用MATLAB函數和文件的工具集,其中許多工具是圖形化用戶接口。它是一個集成化的工作空間,可以讓用戶輸入、輸出數據,并提供了M文件的集成編譯和調試環境。它包括MATLAB桌面、命令窗口、M文件編輯調試器、MATLAB工作空間和在線幫助文檔。
2.MATLAB數學函數庫
MATLAB數學函數庫包括了大量的計算算法,從基本運算(如加法、正弦等)到復雜算法,如矩陣求逆、貝濟埃函數、快速傅里葉變換等。
3.MATLAB語言
MATLAB語言是一個高級的基于矩陣/數組的語言,具有程序流控制、函數、數據結構、輸入/輸出和面向對象編程等特點。用戶既可以用它來快速編寫簡單的程序,也可以用來編寫龐大復雜的應用程序。
4.MATLAB圖形處理系統
圖形處理系統使得MATLAB能方便地圖形化顯示向量和矩陣,而且能對圖形添加標注和打印。它包括強力的二維、三維圖形函數,圖像處理和動畫顯示等函數。
5.MATLAB應用程序接口(API)
MATLAB應用程序接口(API)是一個使MATLAB語言能與C、Fortran等其他高級編程語言進行交互的函數庫,該函數庫的函數通過調用動態鏈接庫(DLL)實現與MATLAB文件的數據交換,其主要功能包括:在MATLAB中調用C和Fortran程序,以及在MATLAB與其他應用程序間建立客戶/服務器關系。
2.1.3 MATLAB常用工具箱
工具箱是MATLAB的關鍵部分,它是MATLAB強大功能得以實現的載體和手段,是對MATLAB基本功能的重要擴充。MATLAB每年都會增加一些新的工具箱,所以,在一般情況下,工具箱的列表不是固定不變的,有關MATLAB工具箱的最新信息可以在http://www.mathworks.com/products中看到。
較為常見的MATLAB工具箱包括以下幾類。
1.控制類工具箱
·控制系統工具箱(Control System Toolbox)
·系統辨識工具箱(System Identification Toolbox)
·魯棒控制工具箱(Robust Control Toolbox)
·模糊邏輯工具箱(Fuzzy Logic Toolbox)
·神經網絡工具箱(Neural Network Toolbox)
·頻域系統辨識工具箱(Frequency Domain System Identification Toolbox)
·模型預測控制工具箱(Model Predictive Control Toolbox)
·多變量頻率設計工具箱(Multivariable Frequency Design Toolbox)
2.應用數學類工具箱
·最優工具箱(Optimization Toolbox)
·樣條工具箱(Spline Toolbox)
·統計工具箱(Statistics Toolbox)
·偏微分方程工具箱(Partial Differential Equation Toolbox)
3.信號處理類工具箱
·信號處理工具箱(Signal Processing Toolbox)
·濾波器設計工具箱(Filter Design Toolbox)
·通信工具箱(Communication Toolbox)
·小波分析工具箱(Wavelet Toolbox)
·高階譜分析工具箱(Higher Order Spectral Analysis Toolbox)
4.其他常用的工具箱
·符號數學工具箱(Symbolic Math Toolbox)
·虛擬現實工具箱(Virtual Reality Toolbox)
- ClickHouse性能之巔:從架構設計解讀性能之謎
- Python數據可視化:基于Bokeh的可視化繪圖
- PHP基礎案例教程
- 架構不再難(全5冊)
- 實戰Java高并發程序設計(第3版)
- C++ 從入門到項目實踐(超值版)
- Apache Spark 2.x for Java Developers
- R Data Analysis Cookbook(Second Edition)
- 小型編譯器設計實踐
- JSP程序設計實例教程(第2版)
- Red Hat Enterprise Linux Troubleshooting Guide
- CRYENGINE Game Development Blueprints
- Maven for Eclipse
- 例說FPGA:可直接用于工程項目的第一手經驗
- Backbone.js Patterns and Best Practices