- MATLAB應(yīng)用與實(shí)驗(yàn)教程
- 賀超英 王少喻編著
- 8字
- 2018-12-30 09:19:11
第1章 MATLAB系統(tǒng)環(huán)境
1.1 什么是MATLAB
MATLAB名字由matrix和laboratory兩詞的前三個(gè)字母組合而成,意即矩陣實(shí)驗(yàn)室,是一門高級(jí)計(jì)算機(jī)編程語言,具有強(qiáng)大的數(shù)值計(jì)算功能和仿真功能。現(xiàn)在,在全球各高等院校, MATLAB已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等許多課程的基本教學(xué)工具,成為大學(xué)生和研究生必須掌握的基本編程語言。圖1.1描述了MATLAB的主要結(jié)構(gòu)和功能。

圖1.1 MATLAB的主要結(jié)構(gòu)和功能
MATLAB的內(nèi)構(gòu)函數(shù)提供了豐富的數(shù)值(矩陣)運(yùn)算處理功能和廣泛的符號(hào)運(yùn)算功能,是基于矩陣運(yùn)算的處理工具。即使是一個(gè)常數(shù),如Y = 5,MATLAB也將其視為一個(gè)1× 1的矩陣。數(shù)值運(yùn)算功能包括矩陣運(yùn)算、多項(xiàng)式和有理分式運(yùn)算、數(shù)據(jù)統(tǒng)計(jì)分析、數(shù)值積分、優(yōu)化處理等。符號(hào)運(yùn)算即用字符串進(jìn)行數(shù)學(xué)分析,允許變量不賦值而參與運(yùn)算,用于解代數(shù)方程、復(fù)合導(dǎo)數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰列級(jí)數(shù)展開、尋優(yōu)等,可求得解析符號(hào)解。
例如,用一個(gè)簡單命令求解如下線性系統(tǒng):
3x1+x2 - x3=3.6 x1+2x2+4x3=2.1 -x1+4x2+5x3=-1.4
在MATLAB命令窗口輸入
A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; x=A\b
程序運(yùn)行結(jié)果為
x= 1.4818 -0.4606 0.3848
MATLAB提供了兩個(gè)層次的圖形命令:一種是對圖形句柄進(jìn)行的低級(jí)圖形命令,另一種是建立在低級(jí)圖形命令之上的高級(jí)圖形命令。利用MATLAB的高級(jí)圖形命令可以輕而易舉地繪制二維、三維乃至多維圖形,并可進(jìn)行圖形和坐標(biāo)的標(biāo)識(shí)、視角和光照設(shè)計(jì)、色彩精細(xì)控制等。例如,用簡短命令計(jì)算并繪制在0≤x≤6范圍內(nèi)的sin(2x), sin(x2)和(sin(x))2。
在MATLAB命令窗口輸入
x=linspace(0,6) y1=sin(2?x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x,y2,x,y3)
運(yùn)行命令語句得到的圖形如圖1.2所示。

圖1.2 函數(shù)sin(2x), sin(x2)和(sin(x))2的圖形
MATLAB除了命令行的交互式操作以外,還能以程序方式工作。使用MATLAB可以很容易地實(shí)現(xiàn)C或FORTRAN語言的幾乎全部功能,包括Windows圖形用戶界面設(shè)計(jì)。
此外,MATLAB還有許多工具箱用以擴(kuò)展其功能。工具箱分為兩大類:基本工具箱和專業(yè)工具箱。基本工具箱主要用來擴(kuò)充其符號(hào)計(jì)算功能、可視建模仿真功能及文字處理功能等。專業(yè)工具箱如控制系統(tǒng)工具箱、信號(hào)處理工具箱、神經(jīng)網(wǎng)絡(luò)工具箱、最優(yōu)工具箱、金融工具箱等,主要用來進(jìn)行相關(guān)專業(yè)領(lǐng)域的研究。
- Cocos2D-X權(quán)威指南(第2版)
- ASP.NET Core 2 and Vue.js
- PHP+MySQL+Dreamweaver動(dòng)態(tài)網(wǎng)站開發(fā)實(shí)例教程
- RabbitMQ Essentials
- 51單片機(jī)C語言開發(fā)教程
- 從零開始學(xué)Linux編程
- Creating Data Stories with Tableau Public
- Getting Started with Polymer
- SpringBoot從零開始學(xué)(視頻教學(xué)版)
- Java 7 Concurrency Cookbook
- Mastering Python
- Clojure Data Structures and Algorithms Cookbook
- Python繪圖指南:分形與數(shù)據(jù)可視化(全彩)
- RabbitMQ Essentials
- KnockoutJS Essentials