官术网_书友最值得收藏!

1章 MATLAB概覽

經過三十余年的補充與完善,以及多個版本的升級換代,MATLAB的功能已經變得非常強大和完善,成為一個包含眾多工程計算和仿真功能與工具的龐大系統,是目前世界上最流行的仿真計算軟件之一。

1.1 MATLAB發展歷程

MATLAB的產生是與數學計算緊密聯系在一起的。1980年,美國新墨西哥州大學計算機系主任Cleve Moler在給學生講授線性代數課程時,發現學生在高級語言編程上花費很多時間,于是著手編寫供學生使用的Fortran子程序庫接口程序,取名為MATLAB(即Matrix Laboratory的前三個字母的組合,意為“矩陣實驗室”)。這個程序獲得了很大的成功,受到學生的廣泛歡迎。

20世紀80年代初期,Moler等一批數學家與軟件專家組建了MathWorks軟件開發公司,繼續從事MATLAB的研究和開發,1984年推出了第一個MATLAB商業版本,其核心用C語言編寫。而后,MATLAB又添加了豐富多彩的圖形圖像處理、多媒體、符號運算,以及與其他流行軟件的接口功能,功能越來越強大。

MathWorks公司正式推出MATLAB后,于1992年推出了具有劃時代意義的MATLAB 1.0版本;1999年推出的MATLAB 5.3版在很多方面進一步改進了MATLAB的功能,隨之推出的全新版本Simulink 3.0也達到了很高的檔次;2000年10月推出的MATLAB 6.0版本,在操作界面上有了很大的改觀,同時還給出了程序發布窗口、歷史信息窗口和變量管理窗口等,為用戶提供了極大的方便;2001年6月,MATLAB 6.1版即Simulink 4.1版問世,功能已經十分強大,其虛擬顯示工具箱更給仿真結果在三維視景下顯示帶來了新的解決方案;2003年6月推出了MATLAB Release 13,即MATLAB 6.5/Simulink 5.0,在核心數值算法、界面設計、外部接口和應用桌面等諸多方面有了極大的改進;2004年9月正式推出MATLAB Release 14,即MATLAB 7.0/Simulink 6.0,這是一個具有里程碑式的版本。

此后,幾乎形成了一個規律,每年的3月份和9月份推出當年的a和b版本,目前的最新版本是MATLAB 2012b。

MATLAB經過三十多年的研究與不斷完善,現已成為國際上最流行的科學計算與工程計算軟件工具之一,現在的MATLAB已經不僅僅是最初的“矩陣實驗室”了,它已發展成為一種具有廣泛應用前景的、全新的計算機高級編程語言,可以說它是“第四代”計算機語言。自20世紀90年代以來,美國和歐洲大學將MATLAB正式列入研究生和本科生的教學計劃,MATLAB軟件已成為應用代數、自動控制理論、數理統計、數字信號處理、時間序列分析和動態系統仿真等課程的基本教學工具,成為學生所必須掌握的基本軟件之一。在設計研究單位和工業界,MATLAB也成為工程師們必須掌握的一種工具,被認為是進行高效研究與開發的首選軟件工具。

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、C#、Java等其他高級編程語言進行交互的函數庫,該函數庫的函數通過調用動態鏈接庫(DLL)實現與MATLAB文件的數據交換,其主要功能包括在MATLAB中調用C、Fortran、C#和Java程序,以及在MATLAB與其他應用程序間建立客戶/服務器關系。

1.3 MATLAB工具箱

MATLAB擁有一個專用的家族產品,用于解決不同領域的問題,稱之為工具箱(Toolbox)。工具箱用于MATLAB的計算和畫圖,通常是M文件和高級MATLAB語言集合,使用戶可以方便地修改函數和源代碼,或增加新的函數。用戶還可以結合不同的工具箱中的技術來設計針對某個問題的解決方案。MATLAB每年都會完善或新增一些工具箱,因此,在一般情況下,工具箱的列表不是固定不變的。有關MATLAB工具箱的最新信息可以在http://www.mathworks.com/products中看到。

較為常見的MATLAB工具箱包括:

1.應用數學類工具箱

(1)最優工具箱(Optimization Toolbox)

(2)統計工具箱(Statistics Toolbox)

(3)偏微分方程工具箱(Partial Differential Equation Toolbox)

2.金融類工具箱

(1)金融工具箱(Financial Toolbox)

(2)金融衍生品工具箱(Financial Derivatives Toolbox)

(3)固定收益工具箱(Fixed-Income Toolbox)

3.信號處理類工具箱

(1)信號處理工具箱(Signal Processing Toolbox)

(2)小波分析工具箱(Wavelet Toolbox)

4.控制類工具箱

(1)控制系統工具箱(Control System Toolbox)

(2)系統辨識工具箱(System Identification Toolbox)

(3)魯棒控制工具箱(Robust Control Toolbox)

5.其他常用的工具箱

(1)符號數學工具箱(Symbolic Math Toolbox)

(2)神經網絡工具箱(Neural Network Toolbox)

1.4 MATLAB啟動和退出

以Windows操作系統為例,進入Windows后,選擇“開始”→“程序”→“MATLAB”,便可以進入如圖1-1所示的MATLAB主窗口。如果安裝時選擇在桌面上生成快捷方式,也可以點擊快捷方式直接啟動。

在啟動MATLAB,命令編輯區顯示幫助信息后,將顯示符號“>>”,表示MATLAB已準備好,正等待用戶輸入命令,這時,在提示符“>>”后面鍵入命令,按“Enter”鍵,MATLAB就會解釋執行所輸入的命令,并在命令后面給出計算結果。如果在輸入命令后以分號結束,則不會顯示結果。

退出MATLAB系統的方式有兩種:

(1)在File(文件)菜單中選擇“Exit”或“Quit”。

(2)單擊窗口右上角的關閉圖標“×”。

圖1-1 MATLAB主窗口

1.5 MATLAB基本特色

1.5.1 常量與變量

1.常量

常量是指那些在MATLAB中已預先定義其數值的變量,默認的常量如表1-1所示。

表1-1 MATLAB默認常量

2.變量

變量是數值計算的基本單元。與C語言等其他高級語言不同,MATLAB語言中的變量無須事先定義,一個變量以其名稱在語句命令中第一次合法出現而定義,運算表達式變量中不允許有未定義的變量;MATLAB也不需要預先定義變量的類型,它會自動生成變量,并根據變量的操作確定其類型。

(1)MATLAB變量命名規則

①變量名區分大小寫,因此A與a表示的是不同的變量。

②變量名以英文字母開始,第一個字母后可以使用字母、數字和下畫線,但不能使用空格和標點符號。

③變量名長度不得超過31位,超過的部分將被忽略。

④某些常量也可以作為變量使用,如i在MATLAB中表示虛數單位,但也可以作為變量使用。

(2)MATLAB變量的顯示

任何MATLAB語句的執行結果都可以在屏幕上顯示,同時賦值給指定的變量,沒有指定變量時,MATLAB將結果賦值給一個特殊的變量ans。數據的顯示格式由format命令控制。format只是影響結果的顯示,不影響其計算與存儲。MATLAB總是以雙字長浮點數(雙精度)來執行所有的運算。如果結果為整數,則顯示沒有小數;如果不是整數,則輸出形式可為如表1-2所示的幾種形式。

表1-2 MATLAB的數據顯示格式

(3)MATLAB變量的存儲

①工作空間中的變量可以用save命令存儲到磁盤文件中。

鍵入命令save <文件名>,將工作空間中全部變量存到<文件名>.mat文件中去,若省略<文件名>選項則存入文件matlab.mat中;命令save <文件名> <變量名集>將<變量名集>指出的變量存入文件<文件名>.mat中。

②用命令load可將變量從磁盤文件讀入MATLAB的工作空間。

鍵入命令load <文件名>,將<文件名>指出的磁盤文件中的數據依次讀入名稱與<文件名>相同的工作空間中的變量中。

若省略<文件名>,則從matlab.mat中讀入所有數據。

③用clear命令可清除工作空間中現存的變量。

例1-1 數據的存取。

(1)建立用戶目錄,并使之成為當前目錄,保存數據。

x=[1,2] % 輸入數據
mkdir('c:\','my_dir'); %在C盤上創建目錄my_dir
cd c:\my_dir %使c:\my_dir成為當前目錄
save saf x %選擇內存中的x變量保存為saf.mat文件
dir %顯示目錄上的文件

輸出為:

>> In mkdir at 116
...saf.mat

(2)清空內存,從saf.mat向內存裝載變量x。

>> clear %清除內存中的全部變量
load saf x %把saf.mat文件中的x變量裝入內存
>> who %檢查內存中有什么變量
Your variables are:
x

需要注意的是:如果一組數據是經過長時間的復雜計算后獲得的,為避免再次重復計算,常使用save加以保存。此后,每當需要,都可通過load重新獲取這組數據。這種處理模式常在實際中被采用。

1.5.2 MATLAB基本運算

在MATLAB下進行基本數學運算,只需將運算式直接輸入提示符(>>)之后,并按“Enter”鍵即可。例如:

>> (5*2+1.3+1.8)*10/25
ans = 5.2400

MATLAB會將運算結果直接存入一變量ans,代表MATLAB運算后的答案(answer),并顯示其數值于屏幕上。

也可將上述運算式的結果設定給另一個變量x。

>> x=(5*2+1.3+1.8)*10/25
  x = 5.2400

此時MATLAB會直接顯示x的值。

MATLAB能識別所有一般常用的加(+)、減(-)、乘(*)、除(/)算術運算符號,以及冪次運算(^)。

需要注意的是:MATLAB將所有變量均存成double的形式,所以不需經過變量定義,MATLAB會自動進行內存的使用和清除,而不必像C語言由使用者一一指定。這些功能使得MATLAB易學易用,使用者可專心致力于編寫程序,而不會被軟件枝節問題所干擾。

如果不想讓MATLAB每次都顯示運算結果,只需在運算式最后加上分號(;)即可,如下例。

>> x=(5*2+1.3+1.8)*10/25;

若要顯示變量x的值,直接鍵入x即可:

>> x
x = 5.2400

1.5.3 MATLAB基本函數

1.基本數學函數

MATLAB具有強大的計算功能,它提供了大量的函數,方便使用者進行計算。常用的基本數學函數如表1-3所示。

表1-3 常用的基本數學函數

2.基本三角函數

MATLAB常用的基本三角函數如表1-4所示。

表1-4 常用的基本三角函數

1.5.4 向量

1.向量基本操作

向量是MATLAB的基本運算單元,下面通過例子介紹向量的基本操作。

>> x=[1,2,3,4,5] %以行向量(數組)方式給x賦值
   t=[1;2;3;4;5] %以列向量(數組)方式給t賦值
   y=(x(3)+x(5))/2*x(4) %x(3)調用x中的第3個元素
   z=sqrt(x) %每個元素開方
   u=x*t %向量的內積(u為向量x的模的平方)

輸出為:

x = 1 2 3 4 5
t =
    1
    2
    3
    4
    5
y = 16
z = 1.0000 1.4142 1.7321 2.0000 2.2361
u = 55

也可以隨意更改、增加或刪除向量中的元素,如下例所示:

>> x=[1,2,3,4,5]
   x(2)=20 % 更改第2個元素

輸出為:

x = 1 20 3 4 5
x(6)=16 % 加入第6個元素

輸出為:

x = 1 20 3 4 5 16
x(2)=[] % 刪除第2個元素

輸出為:

x = 1 3 4 5 16
2.向量的操作函數

MATLAB提供了常用的向量運算函數,如表1-5所示。

表1-5 常用的向量運算函數

1.6 小結

本章介紹MATLAB的產生與發展過程,對MATLAB的常用工具箱進行了介紹。通過閱讀本章,讀者對MATLAB的發展歷程及基本特點能有一個比較全面的了解。

主站蜘蛛池模板: 旬阳县| 邛崃市| 遂溪县| 庆安县| 定西市| 沁源县| 浠水县| 高碑店市| 北碚区| 濉溪县| 图片| 和龙市| 娄烦县| 梁平县| 营口市| 泰宁县| 贺兰县| 政和县| 建始县| 太谷县| 元江| 苍南县| 日土县| 奇台县| 积石山| 台东市| 满洲里市| 城口县| 定结县| 乐山市| 咸丰县| 什邡市| 五寨县| 怀化市| 华亭县| 平泉县| 启东市| 余江县| 孟津县| 秀山| 嵩明县|