《MATLAB基礎與應用》課件_第1頁
《MATLAB基礎與應用》課件_第2頁
《MATLAB基礎與應用》課件_第3頁
《MATLAB基礎與應用》課件_第4頁
《MATLAB基礎與應用》課件_第5頁
已閱讀5頁,還剩805頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《MATLAB基礎與應用》課件《MATLAB基礎與應用》課件《MATLAB基礎與應用》課件目錄前言第1章MATLAB概述第2章MATLAB基本語法第3章MATLAB基本繪圖第4章MATLAB數(shù)值計算第5章MATLAB基本程序設計第6章MATLAB圖形用戶界面設計第7章MATLAB符號數(shù)學工具箱第8章Simulink仿真第9章MATLAB在信號與系統(tǒng)中的應用第10章MATLAB在數(shù)字信號處理中的應用第11章MATLAB在通信原理中的應用《MATLAB基礎與應用》課件《MATLAB基礎與應用》課件1目錄

前言第1章MATLAB概述第2章MATLAB基本語法第3章MATLAB基本繪圖第4章MATLAB數(shù)值計算第5章MATLAB基本程序設計第6章MATLAB圖形用戶界面設計第7章MATLAB符號數(shù)學工具箱第8章Simulink仿真

第9章MATLAB在信號與系統(tǒng)中的應用第10章MATLAB在數(shù)字信號處理中的應用第11章MATLAB在通信原理中的應用目錄前言2前言

(一)為什么開設本課程

由于MATLAB的獨特優(yōu)勢,開設本課程:2、簡單易用的程序語言3、強大的科學計算及數(shù)據處理能力4、出色的圖形處理功能1、友好的工作平臺和編程環(huán)境5、工程師必備的工具前言(一)為什么開設本課程由于MATLAB的獨特優(yōu)勢3前言

(二)課程特點1、是一門計算機語言課2、是一門實踐性很強的課3、是一門選修課前言(二)課程特點1、是一門計算機語言課2、是一門4前言

(三)課程內容1、MATLAB概述2、MATLAB基本語法4、MATLAB數(shù)值計算3、MATLAB基本繪圖5、MATLAB基本程序設計7、MATLAB工具箱(符號數(shù)學)8、Simulink

與MATLAB應用6、MATLAB圖形用戶界面設計前言(三)課程內容1、MATLAB概述2、MAT5前言

(五)要求

勤學習、勤實踐。多溝通、共提高。(四)課時安排總32學時=16學時授課+16學時實驗前言(五)要求勤學習、勤實踐。(四)課時安排總36第1章MATLAB概述■MATLAB發(fā)展■MATLAB的特點■MATLAB的組成■MATLAB的界面■MATLAB的通用命令主要內容第1章MATLAB概述■MATLAB發(fā)展主要內容71.1MATLAB發(fā)展1970年代中期,CleveMoler博士開發(fā)了:

EISPACK(特征值求解的程序庫)LINPACK(解線性方程的程序庫)

1970年代后期,CleveMoler編寫接口程序:MATLAB,即矩陣(MATrix)和實驗室(LABoratory)前3個字母的組合,是“矩陣實驗室”的縮寫,它是一種以矩陣運算為基礎的交互式程序語言。

1.1MATLAB發(fā)展1970年代中期,CleveM81.1MATLAB發(fā)展1983年春,CleveMoler和JohnLittle用C語言開發(fā)了第二代專業(yè)版

1984年,兩人成立了Mathworks公司,正式把MATLAB推向市場。1.1MATLAB發(fā)展1983年春,CleveMole91.1MATLAB發(fā)展1988年,推出MATLAB3.x版本(DOS版)。

1993年,推出MATLAB4.0版本(Win3.x)。

1997年,推出MATLAB5.0版(Windows95)。

1999年,推出MATLAB5.3版本R11(流行較廣)。

2000年,推出MATLAB6.0版本R12(Win98/Win2000)1.1MATLAB發(fā)展1988年,推出MATLAB3.x101.1MATLAB發(fā)展

2001年,推出MATLAB6.1版本(克服6.0不支持P4,Winme,漢字等)。2002年,推出MATLAB6.5版本R13(速度更快、性能更優(yōu)越等)。2004年,推出MATLAB7版本R14

●MATLAB主頁:1.1MATLAB發(fā)展2001年,推出MATLAB6.111.2MATLAB的特點

1、起點高2、人機界面友好3、強大而簡易的作圖功能4、一流的數(shù)值計算功能5、智能化程度高6、強勁的工具箱是一個強大的功能演算性草稿紙難點:函數(shù)較多,僅基本部分就有700多個。1.2MATLAB的特點1、起點高2、人機界面友好121.3MATLAB的組成

MATLAB軟件由四部分組成:

1、基本部分(核心):程序主體和基本函數(shù)(約700多個)。2、專業(yè)擴展部分(工具箱):由大量專業(yè)函數(shù)組成(上千個函數(shù))。已有30多個工具箱。1.3MATLAB的組成MATLAB軟件由四部分組成131.3MATLAB的組成

3、符號數(shù)學工具箱:基于Maple軟件的符號數(shù)學引擎。4、仿真工具箱(Simulink):用于建立系統(tǒng)的數(shù)學模型和仿真分析等。1.3MATLAB的組成3、符號數(shù)學工具箱:4、141.4MATLAB界面

☆命令窗口(commandwindow)☆歷史命令窗口(commandhistory)☆當前目錄窗口(currentdirectory)☆工作區(qū)窗口(workspace)☆已安裝部件窗口(launchpad)菜單(Menu)

窗口(Windows)

1.4MATLAB界面☆命令窗口(commandw151.4MATLAB界面

菜單(Menu)命令窗口歷史窗口和當前目錄窗口工作區(qū)窗口和安裝部件窗口當前路徑1.4MATLAB界面菜單(Menu)命令窗口歷史窗口161.5MATLAB通用命令

1、help(幫助)>>help(顯示已安裝的函數(shù)庫和工具箱)>>help子目錄名/庫名/工具箱

如:helpgeneralhelpcomm

>>help函數(shù)名

如:helpsin

1.5MATLAB通用命令1、help(幫助)>>171.5MATLAB通用命令

2、lookfor關鍵字(查找)

如:lookforsound

3、clc(清除命令窗)4、who(列出工作區(qū)中的內存變量)whos(列出工作區(qū)中的內存變量詳情)5、clear(清除工作區(qū)中的變量和函數(shù))1.5MATLAB通用命令2、lookfor關鍵字181.5MATLAB通用命令

6、edit(調用編輯器,編寫程序)7、?。ㄟ\行外部程序)

如:!dir;!calc(計算器)

8、demo(MATLAB演示程序)9、quit(退出MATLAB)10、上下箭頭(調出歷史命令)1.5MATLAB通用命令6、edit(調用編輯器19內容回顧1、介紹了本課程的特點內容和安排2、MATLAB的發(fā)展和特點3、MATLAB的組成和操作界面4、MATLAB的通用命令內容回顧1、介紹了本課程的特點內容和安排20第2章MATLAB基本語法

■變量■矩陣的賦值■矩陣的初等運算■矩陣的基本運算函數(shù)■矩陣的邏輯運算主要內容第2章MATLAB基本語法■變量主要內容212.1變量

1、標識符:表示變量名,常量名,函數(shù)名和文件名的字符串(1)由字母、數(shù)字、下劃線等符號組成,第一個字母必須是英文字母。(2)變量和常量最長不要超過19個字符,多余截取。(3)函數(shù)和文件名通常不超過8個字符。(4)變量名大小寫敏感。2.1變量1、標識符:表示變量名,常量名,函數(shù)名和文件名222.1變量

(5)MATLAB中的特殊變量名,應避免使用。例如:ans----默認臨時變量pi----πeps----計算機中的最小數(shù)inf----無窮大NaN----非數(shù)或不定數(shù)(如:0/0)i或j----虛數(shù)單位2.1變量(5)MATLAB中的特殊變量名,應避免使用。232.1變量

2、變量類型:(1)數(shù)值:內部只有一種類型為雙精度(8個字節(jié),64位),實數(shù)為1個雙精度數(shù),復數(shù)為兩個雙精度數(shù)。但輸出顯示格式有8種。可用format命令來改變顯示格式。例如:formatshort顯示5位數(shù)(pi:3.1416)formatlong顯示15位數(shù)(pi:3.14159265358979)formatbank顯示貨幣格式(pi:3.14)2.1變量2、變量類型:(1)數(shù)值:內部只有一種類型為242.1變量

數(shù)字顯示的8種格式Matlab命令顯示形式說明formatlong3.14159265358979316位十進制formatshorte3.1416e+0005位十進制數(shù)加指數(shù)formatlonge3.141592653589793e+00016位十進制數(shù)加指數(shù)formathex400921fb54442d1816位十六進制formatbank3.14兩位小數(shù)format++正、負或零formatrat355/113分數(shù)近似formatshort(默認)3.14159二位整數(shù),四位小數(shù)2.1變量數(shù)字顯示的8種格式Matlab命令顯示形式說252.1變量

2、變量類型:(2)字符(串):用單引號表示。如:a=’abc’

實際上是一個單個字符的ASCII碼組成的行向量。2.1變量2、變量類型:(2)字符(串):用單引號表示262.1變量

3、矩陣◆MATLAB中的變量或常量都代表一個矩陣,所有的變量運算其實都是矩陣運算。單個值實際上是1*1階矩陣?!艟仃囋乜梢允菙?shù)值(實數(shù)或復數(shù))或字符串?!粢粋€由矩陣表示的變量可以是一個數(shù)、一組數(shù)、一個文件(如語音)、一幅圖象等。2.1變量3、矩陣◆MATLAB中的變量或常量都代表一272.1變量

3、矩陣◆矩陣(Matrix)與數(shù)組(Array)的關系:矩陣運算有著嚴格理論數(shù)組運算一般指元素運算2.1變量3、矩陣◆矩陣(Matrix)與數(shù)組(Arr282.1變量

4、變量的查看:who/whos5、變量的保存和恢復:save文件名(缺省后綴為.mat)例如:savemyvarload文件名例如:loadmyvar2.1變量4、變量的查看:who/whos5、變量的保292.2矩陣的賦值1、矩陣的直接賦值(1)基本賦值1)使用[]2)同一行元素用空格或‘,’隔開3)不同行用‘;’隔開

例如:a=[123;456](2)復數(shù)的賦值:例如:z=1+2i或1+2jz=[1+2i3+4i]z=[13]+[24]*i2.2矩陣的賦值1、矩陣的直接賦值(1)基本賦值(2)302.2矩陣的賦值注意:①賦值結尾為“;”則不顯示結果。②一行不夠時,可用“…”換行。③矩陣的階數(shù)也可通過下列函數(shù)獲得:對于一維,m=length(a)為矩陣a的長度。例如:a=[123]length(a)為32.2矩陣的賦值注意:312.2矩陣的賦值注意:③矩陣的階數(shù)也可通過下列函數(shù)獲得:對于二維,[m,n]=size(a),m為行數(shù),n為列數(shù)例如:a=[123;456]size(a)為[23]2.2矩陣的賦值注意:322.2矩陣的賦值2、矩陣元素的賦值(1)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和賦值。例如,a(2,1)=4,若將其改為9,則可用a(2,1)=9。注意:如果元素下標超出原矩陣的維數(shù),矩陣將自動擴大,多出的元素自動為0。

2.2矩陣的賦值2、矩陣元素的賦值(1)元素用(m,n332.2矩陣的賦值2、矩陣元素的賦值(2)給全行或全列賦值:用“:”代替行或列。如:a(4,:)=[11121314]b(:,5)=[5;8;10;12]注意:行數(shù)或列數(shù)必須與原矩陣相同。2.2矩陣的賦值2、矩陣元素的賦值(2)給全行或全列342.2矩陣的賦值3、矩陣的變換(1)抽?。河稍仃囍械牟糠衷貥嫵尚戮仃嚒H纾篵=a([2,4],[1,3])表示第2,4行與第1、3列交叉元素組成新矩陣。2.2矩陣的賦值3、矩陣的變換(1)抽?。河稍仃囍?52.2矩陣的賦值3、矩陣的變換(2)抽去:使用空矩陣[](無元素),將矩陣整行/列刪除。如:a([2,4],:)=[]將2、4行刪除a(:,[2])=[]將第2列刪除2.2矩陣的賦值3、矩陣的變換(2)抽去:使用空矩陣362.2矩陣的賦值3、矩陣的變換(3)組合:由多個矩陣組成一個新矩陣,但行列應正好。如:a=[123;456];b=[789;101112];c=[ab];d=[a;b];(4)轉置:b=a'(行變列)例如:a=[123;456],則a'=[14;25;36]2.2矩陣的賦值3、矩陣的變換(3)組合:由多個矩372.2矩陣的賦值(5)排列:b=a(:)將所有列排成一列。例如:a=[123;456];a(:)=[1;4;2;5;3;6];若先轉置再排列,即實現(xiàn)按行排列。(6)變換函數(shù):fliplr(a)(矩陣左右翻轉)(flip翻leftright)flipud(a)(矩陣上下翻轉)……3、矩陣的變換2.2矩陣的賦值(5)排列:b=a(:)將所有列排成382.2矩陣的賦值4、間隔賦值(適合批量數(shù)據)(1)變量=(first:increment:last)形式如:t=(0:0.1:1)則t=[0,0.1,0.2,…,1](2)線性間隔函數(shù)linspace(first,last,num)從first開始到last結束共num個元素,間隔為(last-first)/(num-1)如:t=linspace(0,1,11),t=[0,0.1,…,1]2.2矩陣的賦值4、間隔賦值(適合批量數(shù)據)(1)變392.2矩陣的賦值4、間隔賦值(適合批量數(shù)據)(3)對數(shù)間隔函數(shù)logspace(first,last,num)從10first開始到10last結束共num個元素如:t=logspace(0,1,11),t=[100,100.1,…,101]2.2矩陣的賦值4、間隔賦值(適合批量數(shù)據)(3)對數(shù)402.2矩陣的賦值5、基本矩陣(1)空陣:[](當操作無結果時,返回空陣)(2)全0矩陣:zeros(m,n)例如:zeros(2,3)=[000;000](3)全1矩陣:ones(m,n)(4)單位矩陣:eye(n)(對角線為1的方陣)(4)隨機矩陣:rand(m,n)2.2矩陣的賦值5、基本矩陣(1)空陣:[](當操412.2矩陣的賦值6、文件賦值(1)波形文件(.wav):即音頻文件讀波形文件:a=wavread(‘文件名’),如:a=wavread(‘morse.wav’)寫波形文件:wavwrite(a,’文件名’)波形文件播放:用wavplay或sound,如:wavplay(a);2.2矩陣的賦值6、文件賦值(1)波形文件(.wav422.2矩陣的賦值6、文件賦值(2)圖象文件(.BMP/JPG…等)讀圖象文件:a=imread(‘文件名’),如:b=imread(‘sz.jpg’)寫圖象文件:imwrite(b,’文件名’)顯示圖象文件:image(a)2.2矩陣的賦值6、文件賦值(2)圖象文件(.BMP432.3矩陣的初等運算1、加減法:矩陣的加減就是對應元素的加減。如:a=[123];b=[456],則a+b=[578],如果矩陣與一常數(shù)(標量)相加減,則把該常數(shù)看成是同階的矩陣。例如:a+5=[678]2.3矩陣的初等運算1、加減法:矩陣的加減就是對應元素442.3矩陣的初等運算2、乘法(1)矩陣相乘:m×p階矩陣A與p×n階矩陣B的乘積是一個m*n階矩陣。例如:a=[123];b=[456]則:a*b’=[20].(2)矩陣與常數(shù)相乘等于每個元素乘以該常數(shù),例:2*a。2.3矩陣的初等運算2、乘法(1)矩陣相乘:m×p階矩452.3矩陣的初等運算2、乘法(3)矩陣元素相乘(數(shù)組相乘):使用“.*”相乘的兩個矩陣階數(shù)應相同。例如:a=[123];b=[456]則:a.*b=[41018]2.3矩陣的初等運算2、乘法(3)矩陣元素相乘(數(shù)組相462.3矩陣的初等運算3、除法(1)矩陣的除法右除,“/”:A/B=A*B-1(B的逆矩陣inv(B)),B必須是方陣,A與B列應相等。左除,“\”:A\B=A-1*B,A必須是方陣,A與B行應相等。

(2)矩陣除以常數(shù),等于每個元素除以常數(shù),使用普通除法/。2.3矩陣的初等運算3、除法(1)矩陣的除法右除,“472.3矩陣的初等運算3、除法(3)矩陣元素的除法(數(shù)組相除):“./”:A./B為A各元素除以B中各元素?!?\”:A.\B=B./A2.3矩陣的初等運算3、除法(3)矩陣元素的除法(數(shù)組482.3矩陣的初等運算4、乘方(1)矩陣乘方:(乘方是乘法的擴充,為保證合法性,要求矩陣為方陣)A^標量:例A^2,A^0.2(2)元素的乘方:a)A.^標量:例A=[12],A.^2=[14]2.3矩陣的初等運算4、乘方(1)矩陣乘方:(乘方492.3矩陣的初等運算4、乘方b)標量.^A:例3.^A=[39]c)A.^B:A、B同階例A=[12],B=[34],則A.^B=[116]2.3矩陣的初等運算4、乘方b)標量502.4矩陣的基本運算函數(shù)1、矩陣的運算函數(shù)(見附錄A)◆指數(shù)函數(shù):expm()%變量必須是方陣

◆對數(shù)函數(shù):logm()%變量必須是方陣

◆開方函數(shù):sqrtm()%變量必須是方陣

◆三角函數(shù)(25個):例如:t=[123],y=sin(t)◆指數(shù)/對數(shù)函數(shù)(7個):例如:exp()◆復數(shù)函數(shù)(8個):例如:abs()取?!羧≌瘮?shù)(7個):例:round()四舍五入2.4矩陣的基本運算函數(shù)1、矩陣的運算函數(shù)(見附錄A512.4矩陣的基本運算函數(shù)2、矩陣元素的運算(基本函數(shù)庫elfun)1、關系運算:

共6種:〉(大于)〈(小于)〉=(大于等于)〈=(小于等于)==(等于)~=(不等于)◆比較是在元素間進行的。◆矩陣必須同階◆比較結果仍為矩陣,且元素值為0(假)或1(真)例如:a=[12],b=[21],則a>b結果為[01],a==b結果為[00]2.4矩陣的基本運算函數(shù)2、矩陣元素的運算(基本函522.5矩陣的邏輯運算2、邏輯運算:共有四種運算符號:&(與)、|(或)、~(非)、xor(異或)◆矩陣元素值必須為邏輯值(0、1)◆運算是在元素間進行的?!舯容^結果仍為矩陣例如:a=[10],b=[01],則:a&b=[00]xor(a,b)=[11]2.5矩陣的邏輯運算2、邏輯運算:共有四種運算符號532.5矩陣的邏輯運算3、邏輯函數(shù):(運算符庫ops)例如:

exist(‘a’)---檢查變量是否有定義,返回1表示有0表示無all(‘a’)-----檢查矩陣中元素是否全為非0,1是0否2.5矩陣的邏輯運算3、邏輯函數(shù):(運算符庫ops54內容回顧MATLAB基本語法:1、變量2、矩陣的賦值3、矩陣的初等運算4、矩陣的基本運算函數(shù)5、矩陣的邏輯運算內容回顧MATLAB基本語法:55第3章MATLAB基本繪圖)■基本二維繪圖■特殊二維繪圖■基本三維繪圖■特殊三維繪圖主要內容第3章MATLAB基本繪圖)■基本二維繪圖主要內563.1基本二維繪圖

MATLAB提供了豐富的繪圖函數(shù)和繪圖工具,一般需要5個步驟。1.曲線數(shù)據準備2.指定圖形窗口和子圖位置可使用Figure命令指定圖形窗口,默認時打開Figure1窗口,或使用subplot命令指定當前子圖。3.調入繪圖命令繪制圖形4.設置坐標軸的圖形注釋5.按指定格式保存或導出圖形3.1基本二維繪圖MATLAB提供了豐富的繪圖函數(shù)和573.1基本二維繪圖

一、plot-----基本二維繪圖函數(shù)1、格式1:plot(y)功能:y是一向量,以y中元素的下標為橫坐標,元素值作為縱坐標,各點以直線相連。例如:y=[12321];plot(y)3.1基本二維繪圖一、plot-----基本二維繪圖583.1基本二維繪圖

?如果格式1中的y為復數(shù)矩陣,則相當于plot(real(y),imag(y))。?如果y為多行或多列矩陣,則繪制多條曲線。例如:y2=[sin(2*pi*t);cos(2*pi*t)];plot(t,y2);2、格式2:plot(x,y)功能:x,y具有相同的長度,繪圖時以x元素值為橫坐標,y元素值作為縱坐標,各點以直線相連。例如:t=(0:0.05:1);y=sin(2*pi*t);plot(t,y);3.1基本二維繪圖?如果格式1中的y為復數(shù)矩陣,?如593.1基本二維繪圖

3、格式3:plot(x1,y1,x2,y2,…)功能:相當于,plot(x1,y1),plot(x2,y2),…,繪制多條曲線在一個圖中。例如:t1=(0.5:0.05:1.5);y1=2*sin(2*pi*2*t1);plot(t,y,t1,y1);3.1基本二維繪圖3、格式3:plot(x1,603.1基本二維繪圖

4、格式4:plot(y,’s’)plot(x,y,’s’)plot(x1,y1,’s1’,x2,y2,’s2’…)s為一格式字符串,用于設置繪圖顏色和線型(見P106)例如;plot(t,y,’*b’);plot(t,y,’xr’,t1,y1,’:k’)3.1基本二維繪圖4、格式4:plot(y,’613.1基本二維繪圖

二、plotyy----雙坐標繪圖格式:plotyy(x1,y1,x2,y2)功能:將y1的坐標標在左邊,y2標在右邊,x1,x2共用橫坐標。例如:plotyy(t,y,t1,y1)3.1基本二維繪圖二、plotyy----雙坐標繪623.1基本二維繪圖

三、loglog/semilogx/semilogy---對數(shù)坐標繪圖功能:與plot用法相同,區(qū)別為坐標軸為對數(shù)Loglog():X-Y軸均為對數(shù)Semilogx():X軸為對數(shù)(半對數(shù))Semilogy():Y軸為對數(shù)(半對數(shù))例如:yl=(1:1:100);semilogy(yl);3.1基本二維繪圖三、loglog/semi633.1基本二維繪圖

四、polar----極坐標格式:polar(θ,r)功能:以θ為角度,r為半徑繪圖。例:x=(0:pi/100:2*pi);yp=abs(sin(x));polar(x,yp)3.1基本二維繪圖四、polar----極坐標格式643.1基本二維繪圖

五、多曲線繪圖控制1、圖形保持格式:holdon(off)功能:用于保持當前繪圖,以便在同一坐標上再繪制另外圖形。例如:plot(t,y);holdon;plot(t1,y1)3.1基本二維繪圖五、多曲線繪圖控制1、圖形保653.1基本二維繪圖

2、子圖控制格式:subplot(m,n,p)功能:將窗口分成m(行)*n(列)個子圖,并指定在第p個子圖中繪圖例如:subplot(3,2,2);plot(t,y);subplot(3,2,3);plot(t1,y1);3.1基本二維繪圖2、子圖控制格式:subplot(663.1基本二維繪圖

3、窗口控制格式:figure(n)功能:打開一個新窗口用于當前繪圖,n為該窗口的句柄(唯一標識),用于在多個窗口中繪圖。例如:figure(1);plot(t,y);figure(2);plot(t1,y1);3.1基本二維繪圖3、窗口控制格式:figure(673.1基本二維繪圖

1、title(‘s’)——給圖形加標題

例如:plot(t,y);title(‘sinewave’)

2、xlabel(‘s’)——給x軸加標注例如:xlabel(‘t(s)’)3、ylabel(‘s’)——給y軸加標注例如:ylabel(‘V(mv)’)

六、圖形控制

3.1基本二維繪圖1、title(‘s’)——683.1基本二維繪圖

4、text(x,y,’s’)—在圖形指定位置(x,y)加標注

例如:text(0.5,0.8,’t=0.5sv=0.8’)5、

legend(‘s1’,’s2’,…)——添加圖例例如:plot(t,y,t1,y1);legend(‘sine’,’cosine’)

6、gridon(off)—打開、關閉坐標網格線例如:gridoff

7、zoomon(off)---允許放大/縮小

3.1基本二維繪圖4、text(x,y,’s’)693.1基本二維繪圖

8、axis——控制坐標軸的刻度

■axis([xmin,xmax,ymin,ymax])設定坐標軸的最大最小值例如:plot(t,y);axis([-12–22])■axis(‘equal’)將兩軸設為相等?!鯽xison(off)顯示或關閉坐標軸3.1基本二維繪圖8、axis——控制坐標軸的703.2特殊二維繪圖二維特殊繪圖函數(shù)使用方法基本同plot.例如:stem(t,y)2、bar–––繪制直方圖

例如:bar(t,y)1、stem––––繪制火柴桿圖3、stairs––––繪制階梯圖

例如:stairs(t,y,’r’)

3.2特殊二維繪圖二維特殊繪圖函數(shù)使用方法基本同plo713.2特殊二維繪圖4、area––––區(qū)域圖例如:x=ones(1,5);area(x)

注意同bar的區(qū)別5、pie––––餅圖

例如:x=[123211];y=[001000];pie(x,y)

還有其它特殊函數(shù)。。。3.2特殊二維繪圖4、area––––區(qū)域圖例如:72回顧……PLOT命令的格式格式1:plot(y)格式2:plot(x,y)格式3:plot(x1,y1,x2,y2,…)格式4:plot(y,’s’)plot(x,y,’s’)plot(x1,y1,’s1’,x2,y2,’s2’…)figuresubplot回顧……PLOT命令的格式格式1:plot(y)格式733.3基本三維繪圖一、plot3----基本三維曲線1、格式1:plot3(x,y,z)功能:x,y,z具有相同的長度,繪圖時將元素值對應的點(x,y,z)以直線相連。

3.3基本三維繪圖一、plot3----基本三維曲線74例題13.3基本三維繪圖x=0:pi/10:5*pi;y=sin(x);z=cos(x);figure;subplot(2,1,1);plot3(x,y,z);例題13.3基本三維繪圖x=0:pi/10:5*p753.3基本三維繪圖2、格式2:plot3(x1,y1,z1,x2,y2,z2…)功能:繪制多條曲線例如:plot3(x,y,z,x,z,y)3.3基本三維繪圖2、格式2:plot3(x1,y763.3基本三維繪圖3、格式3:plot3(x,y,z,’s’)plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’)功能:用于設置繪圖顏色和線型字符串意義同plot。例如:plot3(x,y,z,’*r’,x,z,y,’:b’)3.3基本三維繪圖3、格式3:plot3(x,y,z773.3基本三維繪圖例題2t=0:0.02*pi:2*pi;x=sin(t);y=cos(t);z=cos(2*t);figure;subplot(2,1,1);plot3(x,y,z,'bd');subplot(2,1,2);plot3(x,y,z,'b-',x,y,z,'bd');3.3基本三維繪圖例題2t=0:0.02*pi783.3基本三維繪圖二、mesh------三維網格圖1、格式1:mesh(z)功能:z為二維矩陣,繪圖時,以元素下標(x=1:n,y=1:m.)作為X-Y坐標,元素值作為Z坐標,將各點連成網格。

顏色與高度成比例。3.3基本三維繪圖二、mesh------三維網格793.3基本三維繪圖例題3

figure;subplot(2,1,1);z=eye(10);mesh(z);subplot(2,1,2)z=peaks(20);%高斯分布函數(shù)mesh(z);3.3基本三維繪圖例題3figure;80Question:如何畫一個立體的抽樣函數(shù)圖(sin(r)/r)?3.3基本三維繪圖Question:如何畫一個立體的抽樣函數(shù)圖(813.3基本三維繪圖x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.*X+Y.*Y);z=sin(R)./R;mesh(z);形成了33*33網格矩陣3.3基本三維繪圖x=-8:0.5:8;y=x';形823.3基本三維繪圖例如:[xx,yy]=meshgrid([1234],[1234])可以使用meshgrid()函數(shù)產生網格坐標:格式:[X,Y]=meshgrid(x,y)x,y為向量,X的行為x的拷貝,Y的列是y的拷貝,X,Y同維

3.3基本三維繪圖例如:[xx,yy]=meshgr83x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.*X+Y.*Y);z=sin(R)./R;mesh(z);3.3基本三維繪圖可替換成:[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);x=-8:0.5:8;y=x';3.3基本三維繪圖可843.3基本三維繪圖2、格式2:mesh(x,y,z)

功能:x,y,z為三個矩陣,以各元素值為三維坐標點繪圖,并連成網格。

3.3基本三維繪圖2、格式2:mesh(x,y,z)85畫一個球體[xx,yy,zz]=sphere(30);例題73.3基本三維繪圖%球體函數(shù)figure;[xx,yy,zz]=sphere(30);mesh(xx,yy,zz);畫一個球體例題73.3基本三維繪圖%球體863.3基本三維繪圖畫一個高斯分布曲面[x,y,z]=peaks(30);例題8figure;[xx,yy,zz]=peaks(30);mesh(xx,yy,zz);3.3基本三維繪圖畫一個高斯分布873.3基本三維繪圖功能:在網格下畫一窗簾(垂直線)例如:meshz(x,y,z)4、格式4:meshz(x,y,z)3、格式3:meshc(x,y,z)功能:在網格下畫一等值線圖例如:meshc(x,y,z)3.3基本三維繪圖功能:在網格下畫一窗簾(垂直線)488例題9[x,y,z]=peaks(30);subplot(2,1,1);mesh(x,y,z);meshc(x,y,z);subplot(2,1,2);mesh(x,y,z);meshz(x,y,z);例題9[x,y,z]=peaks(30);893.3基本三維繪圖三、surf-------三維曲面圖1、格式1:surf(z)或surf(x,y,z)

基本同mesh,只是將直線變?yōu)樾∏?/p>

例如:surf(x,y,z)3.3基本三維繪圖三、surf-------三維曲面903.3基本三維繪圖例題10[x,y,z]=peaks(30);subplot(1,2,1);mesh(x,y,z);subplot(1,2,2);surf(x,y,z);3.3基本三維繪圖例題10[x,y,z]=pea913.3基本三維繪圖三、surf-------三維曲面圖2、格式2:surfc(z)surfc(x,y,z)

帶等高線的曲面圖例如:surfc(x,y,z)3.3基本三維繪圖三、surf-------三維曲面923.3基本三維繪圖四、三維圖形的顏色修飾

顏色是三維圖形中的第四維,如果不指定,則以Z軸值為準1、色圖函數(shù):colormap(map)通過系統(tǒng)預置的色圖,可改變顯示的顏色例如:surf(x,y,z);colormap(hot)colormap(spring)3.3基本三維繪圖四、三維圖形的顏色修飾顏933.3基本三維繪圖2、顯示顏色條:colorbar例如:surf(x,y,z);colorbar3.3基本三維繪圖2、顯示顏色條:colorbar943.3基本三維繪圖3、顏色的濃淡處理:shading用于改變mesh或surf的小網格或曲面的著色。有三種方法:①shadingflat:去掉黑色線條,根據小方塊的值確定顏色(平滑)

②shadinginterp:根據小方塊四角的值差補過度點的值確定顏色(內插)

③shadingfaceted(缺?。ㄐ∑矫妫?.3基本三維繪圖3、顏色的濃淡處理:shading953.3基本三維繪圖五、圖形控制1、view(方位角,俯仰角)-----改變視角缺省為(-37.5,30),例如:view(0,0)(看不見Y軸)二維圖形控制命令,大都適合三維圖形控制2、rotate3don(off)------允許旋轉3、hiddenon(off)----隱藏或透視被遮擋的地方3.3基本三維繪圖五、圖形控制1、view(方位963.4特殊三維繪圖1、stem3(x,y,z)-----三維火柴桿圖:

例如:stem3(x,y,z)2、bar3(z)------三維條形圖(同二維)

例如:bar3([12321])3、pie3(x,p)------三維餅圖(同二維):

例如:pie3([123211],[001000])

還有其它特殊函數(shù)。。。3.4特殊三維繪圖1、stem3(x,y,z)--97動畫1、命令:moviein,getframe,movie

2、例子:axisequalM=moviein(16);forj=1:16plot(fft(eye(j+16)));M(:,j)=getframe;end動畫1、命令:2、例子:axisequal98動畫再鍵入:movie(M,5)Matlab就把M中圖形播放5遍。動畫再鍵入:99內容回顧MATLAB基本繪圖:1、基本二維繪圖2、特殊二維繪圖3、基本三維繪圖4、特殊三維繪圖內容回顧MATLAB基本繪圖:100第4章MATLAB數(shù)值計算

■基本的數(shù)據分析■矩陣函數(shù)■多項式運算■函數(shù)和數(shù)值積分■數(shù)據分析■稀疏矩陣主要內容第4章MATLAB數(shù)值計算■基本的數(shù)據分析主要內容1014.1矩陣函數(shù)一、基本數(shù)據分析函數(shù)功能max求各列最大值min求各列最小值mean求各列平均值std求各列標準差median求各列中間元素sum求各列元素和注:Matlab的基本數(shù)據處理功能是按列進行的。4.1矩陣函數(shù)一、基本數(shù)據分析函數(shù)功能max求各列最1024.1矩陣函數(shù)二、矩陣函數(shù)

■矩陣的分析計算:求矩陣的行列式、秩、逆矩陣、特征向量等等;

■矩陣的各種分解:(將一個大矩陣分解為多個簡單矩陣的連乘)如:三角分解、正交分解、奇異值分解等。

4.1矩陣函數(shù)二、矩陣函數(shù)■矩陣的分析計算:1034.1矩陣函數(shù)二、矩陣函數(shù)

■矩陣的交集運算:格式:intersect(A,B)功能:返回值為向量A,B的公共部分?!鼍仃嚨牟⒓\算:格式:union(A,B)功能:返回值為向量A,B的公共部分。4.1矩陣函數(shù)二、矩陣函數(shù)■矩陣的交集運算:1044.1矩陣函數(shù)三、線性方程組的求解(應用矩陣函數(shù))

線性方程組一般形式:AX=B(A為n×m矩陣)當n=m時,此方程成為“恰定”方程當n>m時,此方程成為“超定”方程(3)當n<m時,此方程成為“欠定”方程

4.1矩陣函數(shù)三、線性方程組的求解(應用矩陣函數(shù))線性1054.1矩陣函數(shù)三、線性方程組的求解(應用矩陣函數(shù))

1、恰定方程組的解(有唯一的一組解)

AX=BA-1AX=A-1BX=A-1B=A\B有兩種求解方法:(1)X=inv(A)*B(速度較慢)(2)X=A\B(速度快,精度高)例x1+2x2=82x1+3x2=13

A=[1,2;2,3];B=[8;13];X=inv(A)*BXX=A\B4.1矩陣函數(shù)三、線性方程組的求解(應用矩陣函數(shù))1、1064.1矩陣函數(shù)

2、超定方程組的解(沒有精確解)

AX=B(將A變?yōu)榉疥嚕〢’Ax=A’B

X=(A’A)-1A’B=pinv(A)*B(廣義逆)有兩種求解方法:(1)X=pinv(A)*B(2)X=A\B(用最小乘方法找一個精確解)4.1矩陣函數(shù)2、超定方程組的解(沒有精確解)A1074.1矩陣函數(shù)

例x1+2x2=12x1+3x2=23x1+4x2=5A=[1,2;2,3;3,4];B=[1;2;5];X=pinv(A)*BXX=A\B4.1矩陣函數(shù)例x1+2x2=1A=[1084.1矩陣函數(shù)3、欠定方程組的解(有無窮多個解)有兩種求解方法:(1)X=pinv(A)*B(具有最小長度或范數(shù)的解)(2)X=A\B(具有最多零元素的解)例x1+2x2+3x3=12x1+3x2+4x3=2A=[1,2,3;2,3,4];B=[1;2];X=pinv(A)*BXX=A\B4.1矩陣函數(shù)3、欠定方程組的解(有無窮多個解)有兩1094.2多項式運算一、多項式的表示一般形式:

用系數(shù)向量來表示:p=[anan-1……a1a0]%B(s)=3*s^2+6*s+9%A(s)=2*s^3+4*s^2+6*s+8B=[369];A=[2468];4.2多項式運算一、多項式的表示%B(s)=3*s^21104.2多項式運算二、多項式的運算1、多項式的加減

對應系數(shù)相加減,如果系數(shù)長度不等,應在前面補零。例如:p1=[123];p2=[135];p3=[13]則:p1+p2=[258]p1+p3=[136]4.2多項式運算二、多項式的運算1114.2多項式運算2、多項式的乘法(數(shù)組卷積)4.2多項式運算2、多項式的乘法(數(shù)組卷積)1124.2多項式運算2、多項式的乘法格式:conv(p1,p2)(卷積)例如:p1=[11];p2=[12];p3=conv(p1,p2)=[132];4.2多項式運算2、多項式的乘法1134.2多項式運算3、多項式的除法(數(shù)組解卷積)格式:[q,r]=deconv(p1,p2)(q商,r余數(shù))例如:p1=[11];p3=[132];[q,r]=deconv(p3,p1)4.2多項式運算3、多項式的除法(數(shù)組解卷積)1144.2多項式運算三、多項式的求解1、多項式的求導(微分)格式:polyder(p)例如:p=[1234];polyder(p)的運算結果為[343]4.2多項式運算三、多項式的求解1154.2多項式運算2、多項式的求根

■格式:roots(p)(由多項式求根)例如:p=[132];roots(p)的運算結果為[-2;-1]■格式:poly(r)(由根求多項式)?當r為向量時,poly把r作為根求出多項式。如:r=[-2;-1],poly(r)的運算結果為[132]?當r為方陣時,poly(r)即為方陣r的特征多項式

4.2多項式運算2、多項式的求根1164.2多項式運算3、多項式的求值格式:polyval(p,v)(返回當x=v時多項式的值,v可以是復數(shù))例如:p=[123];polyval(p,1)的運算結果為64.2多項式運算3、多項式的求值117Question:求出該系統(tǒng)的頻率響應并畫出頻率特性?Question:求出該系統(tǒng)的頻率響應并畫出頻率特性?118例題clc;clearall;%多項式求值的應用%B(s)=3*s^2+6*s+9%A(s)=2*s^3+4*s^2+6*s+8%H(s)=B(s)/A(s)B=[369];A=[2468];w=linspace(0,10);BB=polyval(B,j*w);AA=polyval(A,j*w);subplot(2,2,1);plot(w,abs(BB./AA));subplot(2,2,3);plot(w,angle(BB./AA));w1=logspace(-1,1);B1=polyval(B,j*w1);A1=polyval(A,j*w1);subplot(2,2,2);semilogx(w1,abs(B1./A1));subplot(2,2,4);semilogx(w1,angle(B1./A1));例題clc;w1=logspace(-1,1);119例題例題1204.2多項式運算四、多項式的擬合多項式的擬合就是用多項式函數(shù)所表示的曲線來描述一些已知的點,使這些點盡量逼近曲線。

格式:p=polyfit(x,y,n)x,y為已知的點坐標向量,n為多項式的冪次4.2多項式運算四、多項式的擬合121x=[01020];y=[208040];subplot(2,1,1);plot(x,y,'*r');p=polyfit(x,y,2);subplot(2,1,2);plot((0:20),polyval(p,(0:20)));4.2多項式運算x=[01020];4.2多項式運算122例題例題1234.2多項式運算五、多項式的插值插值是在一些已知點之間插入一些點,使這些點的連線與已知點連線更逼近.

4.2多項式運算五、多項式的插值1244.2多項式運算1、一維插值(平面插值)格式:yi=interp1(x,y,xi,’method’)x,y為已知的點坐標向量,xi,yi為插入點的x和y坐標向量.‘method’:linear(線性,默認)cubic(三次,拐角更光滑)cubicspline(三次樣條)4.2多項式運算1、一維插值(平面插值)格式:yi=125%平面插值x=[01020];y=[208040];plot(x,y,'r');yi=interp1(x,y,(0:20),'cubic');holdon;plot((0:20),yi);例題%平面插值例題1264.2多項式運算2、二維插值(立體)格式:zi=interp2(x,y,z,xi,yi,’method’)x,y為已知的點坐標向量,z為矩陣(x,y對應點的值)xi,yi為插入點的X,Y坐標向量‘method’:同上zi為xi,yi的插入值。4.2多項式運算2、二維插值(立體)格式:zi=i127%立體插值x=(-4:1:4);y=x;[x1,y1]=meshgrid(x,y);z=peaks(x1,y1);subplot(2,1,1);mesh(x1,y1,z);xi=(-4:0.2:4);yi=xi';zi=interp2(x,y,z,xi,yi,'cubic');subplot(2,1,2);mesh(xi,yi,zi+20);例題%立體插值例題1284.3函數(shù)和數(shù)值積分一、函數(shù)的繪圖及分析1、繪制函數(shù)曲線格式:fplot(‘函數(shù)名’,lims,’s’)功能:繪制指定函數(shù)的曲線,lims為x,y軸的最小最大值,s可指定線形

■函數(shù)和數(shù)值積分庫(funfun)■特殊函數(shù)庫(specfun)4.3函數(shù)和數(shù)值積分一、函數(shù)的繪圖及分析1、繪制函數(shù)曲129%函數(shù)的繪圖subplot(3,1,1);fplot('sin',2*pi*[-11]);subplot(3,1,2);fplot('[sin(x)tan(x)]',2*pi*[-11-11]);subplot(3,1,3);fplot(‘humps’,[01],‘rd’);例題%函數(shù)的繪圖例題1304.3函數(shù)和數(shù)值積分2、函數(shù)的簡易繪圖格式:ezplot(‘函數(shù)名’,lims)例如:ezplot(‘sin’)ezplot('x^2-x-1');ezplot('sin(t)','cos(t)');(畫一橢圓)除ezplot外,還有:ezpolar,ezplot3,ezmesh,ezsurf等。4.3函數(shù)和數(shù)值積分2、函數(shù)的簡易繪圖131%函數(shù)簡易的繪圖subplot(3,1,1);ezplot('sin');subplot(3,1,2);ezplot('x^2-x-1');subplot(3,1,3);ezplot('sin(t)','cos(t)');例題%函數(shù)簡易的繪圖例題1324.3函數(shù)和數(shù)值積分3、求函數(shù)極小值格式:fmin(‘函數(shù)名’,x1,x2)求函數(shù)在x=[x1x2]之間的極小值

4、求函數(shù)零點格式:fzero(‘函數(shù)名’,x0)。求函數(shù)在x0附近的過零點。例如:fzero(‘humps’,1)=1.29954.3函數(shù)和數(shù)值積分3、求函數(shù)極小值1334.3函數(shù)和數(shù)值積分二、特殊函數(shù)

特殊的數(shù)學函數(shù),如:貝塞爾函數(shù)、誤差函數(shù)等。4.3函數(shù)和數(shù)值積分二、特殊函數(shù)1344.3函數(shù)和數(shù)值積分三、函數(shù)的數(shù)值積分1、定積分(一維數(shù)值積分)格式:quad(‘函數(shù)名’,x1,x2)(或quad8,高階方法)對函數(shù)在區(qū)間[x1,x2]內的定積分例如:quad(‘humps’,0,1)=29.8583利用定積分可以求不定積分的數(shù)值解4.3函數(shù)和數(shù)值積分三、函數(shù)的數(shù)值積分1354.3函數(shù)和數(shù)值積分三、函數(shù)的數(shù)值積分2、二重數(shù)值積分格式:dblquad(‘函數(shù)名’,x1,x2,y1,y2)4.3函數(shù)和數(shù)值積分三、函數(shù)的數(shù)值積分1364.3函數(shù)和數(shù)值積分四、常微分方程的求解(ODE,OrdinaryDifferentialEquation

)

格式:[x,y]=ode23(‘函數(shù)名’,x0,xn,y0)(2,3階)或ode45(4,5階)函數(shù)名為微分方程名(含x,y)x0,xn為x區(qū)間,y0為y初值。4.3函數(shù)和數(shù)值積分四、常微分方程的求解1374.3函數(shù)和數(shù)值積分四、常微分方程的求解例如:求微分方程:dy/dx=-3y+2x,y(1)=2區(qū)間為[1,3]的解首先建立函數(shù):f=myde(x,y)(myde.m)f=-3*y+2*x[x,y]=ode23(‘myde’,1,3,2)4.3函數(shù)和數(shù)值積分四、常微分方程的求解1384.4數(shù)據分析和傅立葉變換一、數(shù)據的基本分析(按列分析)1、求最大最小值:max(data)/min(data)例如:a=[123;234;456];max(a)=[456]2、求平均值:mean(data)

例如:mean(a)=[2.333.334.33]3、求和:sum(data)例如:sum(a)=[71013]4、差分:diff(data)(后面元素-前面元素值)例如:diff(a)=[111;222]4.4數(shù)據分析和傅立葉變換一、數(shù)據的基本分析(按列1394.4數(shù)據分析和傅立葉變換二、相關與卷積

對兩組數(shù)據(或兩個信號),可求其相關、協(xié)方差和卷積等1、求協(xié)方差:

cov(x)求x的協(xié)方差陣cov(x,y)求x,y的協(xié)方差2、求相關系數(shù)corrcoef(x)求x的自相關陣corrcoef(x,y)求x,y的互相關系數(shù)4.4數(shù)據分析和傅立葉變換二、相關與卷積1404.4數(shù)據分析和傅立葉變換二、相關與卷積

3、求卷積conv(x,y)4.4數(shù)據分析和傅立葉變換二、相關與卷積1414.4數(shù)據分析和傅立葉變換三、傅立葉變換可對數(shù)據(離散信號)求傅立葉變換

1、離散傅立葉變換:fft(x)對序列x求DFTfft(x,N)對序列x求FFT例如:x=[1234]y=fft(x)=[10-2+2i-2-2-2i]2、離散傅立葉反變換:

ifft()同上。4.4數(shù)據分析和傅立葉變換三、傅立葉變換1424.5稀疏矩陣工程中會遇到很大的矩陣,其元素大多數(shù)為0。描述這類矩陣時,為了節(jié)省空間提高速度,只存儲非0元素,這種矩陣稱為稀疏矩陣。而一般的矩陣稱為完全矩陣。稀疏矩陣有自己的理論和方法。稀疏矩陣函數(shù)庫(sparfun)4.5稀疏矩陣工程中會遇到很大的矩陣,其元素大1434.5稀疏矩陣一、稀疏矩陣的創(chuàng)建1、由完全矩陣得到格式:s=sparse(x)(x是完全矩陣)例如:x=[1002;3030];s=sparse(x)4.5稀疏矩陣一、稀疏矩陣的創(chuàng)建144例題例題1454.5稀疏矩陣2、直接創(chuàng)建格式:s=sparse(i,j,v,m,n)i,j為非0元素行下標和列下標向量,v是非0元素值向量。m,n是待生成稀疏矩陣的行數(shù)和列數(shù)。4.5稀疏矩陣2、直接創(chuàng)建1464.5稀疏矩陣例如:s=sparse([1122],[1413],[1233],2,4);(1,1)1(2,1)3(2,3)3(1,4)24.5稀疏矩陣例如:1474.5稀疏矩陣二、稀疏矩陣的運算1、利用初等運算的命令

(如:四則運算,求逆等)例如:a=[1002];b=[0203];sa=sparse(a);sb=sparse(b);(sa+sb)=?2、必要時,轉為完全矩陣,

格式:full(s)

實驗二4.5稀疏矩陣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論