![預(yù)備知識1_MATLAB語言基礎(chǔ)_0421_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/cabbefb1-3920-40dc-8002-5186fe5916e3/cabbefb1-3920-40dc-8002-5186fe5916e31.gif)
![預(yù)備知識1_MATLAB語言基礎(chǔ)_0421_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/cabbefb1-3920-40dc-8002-5186fe5916e3/cabbefb1-3920-40dc-8002-5186fe5916e32.gif)
![預(yù)備知識1_MATLAB語言基礎(chǔ)_0421_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/cabbefb1-3920-40dc-8002-5186fe5916e3/cabbefb1-3920-40dc-8002-5186fe5916e33.gif)
![預(yù)備知識1_MATLAB語言基礎(chǔ)_0421_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/cabbefb1-3920-40dc-8002-5186fe5916e3/cabbefb1-3920-40dc-8002-5186fe5916e34.gif)
![預(yù)備知識1_MATLAB語言基礎(chǔ)_0421_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/cabbefb1-3920-40dc-8002-5186fe5916e3/cabbefb1-3920-40dc-8002-5186fe5916e35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章第一章 MATLAB語言基礎(chǔ)語言基礎(chǔ)MATLAB簡介v 概述 MATLAB是矩陣實驗室(MAtrix LABoratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域,包括MATLAB和Simulink兩大部分v 產(chǎn)生與發(fā)展 雛形基于特征計算的程序庫EISPACK和線性代數(shù)程序庫LINPACK 免費軟件-MathWorks公司 演變成為一種具有廣泛應(yīng)用前景的全新的計算機(jī)高級編程語言v 優(yōu)勢 強(qiáng)大易用的科學(xué)計算語言 全面的圖形功能
2、獨立開放的平臺 實用的程序接口 MATLAB窗口MATLAB窗口v 命令窗口(Command Window)命令窗口(Command Window)位于MATLAB默認(rèn) 桌面的中間,顯示命令提示符為“”,可在“”之后輸入命令,按下Enter鍵后MATLAB會立即顯示結(jié)果并將結(jié)果自動賦予變量ans,例如: 3.14*32 ans = 28.2600 當(dāng)遇到較為復(fù)雜的問題時,可以采用給變量賦值的方法,例如:可以用變量r來表示圓的半徑,用變量S來表示圓的面積,百分號“%”是MATLAB中的注釋符 r=3%圓的半徑圓的半徑r=3 r = 3 S=3.14*r2%求圓的面積求圓的面積S S = 28.2
3、600在命令窗口輸入r=3并按下Enter鍵后,MATLAB會在命令窗口直接顯示這條命令的計算結(jié)果,若要禁止顯示計算的中間結(jié)果,則可以通過分號“;”來實現(xiàn),例如: r=3; %使用分號禁止顯示計算的中間結(jié)果使用分號禁止顯示計算的中間結(jié)果 S=3.14*r2 S = 28.2600MATLAB窗口v 工作空間管理窗口(Workspace) 工作空間是用于儲存運算中的各種變量和結(jié)果的內(nèi)存空間,而工作空間窗口則用于顯示變量的名稱、大小、字節(jié)數(shù)及數(shù)據(jù)類型等,我們可以通過工作空間窗口對變量進(jìn)行觀察、編輯、保存和刪除等操作。需要注意的是,臨時變量不會占用工作空間 變量編輯器三種方式打開變量編輯器用于編輯相
4、應(yīng)變量 在工作空間管理窗口雙擊該變量名; 鼠標(biāo)單擊變量名后單擊工作空間管理窗口工具欄上的打開圖標(biāo); 用鼠標(biāo)選中變量名,單擊鼠標(biāo)右鍵彈出菜單,然后選擇菜單中的相關(guān)操作。 MATLAB窗口v 歷史命令窗口(Command History) 用于記錄用戶在命令窗口執(zhí)行過的命令行。包括已運行過的命令、函數(shù)、表達(dá)式、使用時間等信息。 在歷史命令窗口的命令是逆序排列的,最早的排在最下面,最后的排在最上面 在歷史命令窗口可進(jìn)行命令歷史的查找、檢查等工作。用鼠標(biāo)選中歷史命令窗口中的命令行,單擊右鍵彈出操作菜單,我們可以選擇相應(yīng)菜單項對這些歷史命令進(jìn)行復(fù)制、執(zhí)行、刪除等操作;雙擊這些命令可使它再次執(zhí)行。v 當(dāng)前
5、目錄窗口(Current Directory) 用于顯示及設(shè)置當(dāng)前工作目錄,同時顯示當(dāng)前工作目錄下的文件名、文件類型及目錄的修改時間等信息 用鼠標(biāo)選中當(dāng)前目錄窗口下文件,單擊右鍵可以進(jìn)行打開(Open)、運行(Run File)、重命名(Rename)、刪除(Delete)等操作 設(shè)置當(dāng)前目錄可以在當(dāng)前目錄窗口上方的輸入欄中直接輸入,或點擊瀏覽器下拉按鈕進(jìn)行選擇。還可以在命令窗口用cd命令進(jìn)行設(shè)置,例如如下命令: cd (D:Work) 可將D盤上的Work目錄設(shè)為當(dāng)前工作目錄 MATLAB的路徑搜索v 什么是路徑搜索MATLAB有一個專門用于查找“.m”文件的路徑搜索器,MATLAB定義了一
6、系列文件路徑的組合,缺省狀態(tài)下包括當(dāng)前路徑和已安裝的全部工具箱的路徑。如果調(diào)用的函數(shù)或文件在搜索路徑之外,MATLAB會認(rèn)為此函數(shù)或文件不存在而返回錯誤信息。v 搜索順序在工作空間中搜索是否有以該字符串為變量名的變量,有則返回該變量的值;搜索是否有同名的MATLAB內(nèi)部函數(shù),如果有,執(zhí)行該內(nèi)部函數(shù);在當(dāng)前目錄中查找與該字符串同名的M文件,如果有,執(zhí)行該文件;在搜索目錄中查找與該字符串同名的M文件,如果有,執(zhí)行該文件;如果在搜索目錄中存在多個同名函數(shù),則只執(zhí)行搜索路徑中的第一個函數(shù)v 編輯搜索路徑的常用命令 path%顯示所有搜索路徑顯示所有搜索路徑 addpath%增加目錄到增加目錄到MATL
7、AB搜索路徑。搜索路徑。 rmpath %刪除刪除MATLAB搜索路徑中的目錄搜索路徑中的目錄 genpath%顯示由所有搜索路徑連接而成的一個長的字符串顯示由所有搜索路徑連接而成的一個長的字符串 editpath%進(jìn)入搜索路徑設(shè)置對話框進(jìn)入搜索路徑設(shè)置對話框 pathtool%同同editpathMATLAB幫助系統(tǒng)v 幫助窗口 該窗口是一個獨立的交互式幫助瀏覽器,如圖1-7所示。用戶可以在命令窗口中輸入helpdesk、helpwin或者doc命令來啟動幫助窗口。通過幫助窗口中的幫助主題(Contents)、幫助索引(Index)和聯(lián)機(jī)演示(Demos)可以瀏覽用戶可能需要的內(nèi)容,而在查詢
8、結(jié)果(Search Results)中可以查看按用戶要求得到的幫助信息列表v help命令 在命令窗口使用help組合命令。當(dāng)用戶知道函數(shù)名稱想了解其具體用法時,可以在命令窗口使用help命令,調(diào)用方法是help 函數(shù)名,例如: help invv lookfor命令 在命令窗口使用lookfor組合命令。注意,help 命令要求函數(shù)名的精確匹配,而lookfor只要求與每個函數(shù)中的總結(jié)信息有匹配。所以當(dāng)用戶不知道函數(shù)的確切名稱時可以使用lookfor命令 ,例如找矩陣求逆函數(shù)可以輸入: lookfor inversev 模糊查詢 用戶在命令窗口只須輸入命令的前幾個字母,然后鍵入Tab鍵MAT
9、LAB就會列出所有以這個字母開始的命令。 MATLAB中的數(shù)據(jù)類型v 數(shù)值型數(shù)據(jù) MATLAB的數(shù)據(jù)通常都是以雙精度數(shù)值來表示,不區(qū)分整數(shù)、實數(shù)、復(fù)數(shù)等,占8個字節(jié)(64位),其值域約為-1.7e308至1.7e308。同時考慮到一些特殊的應(yīng)用,MATLAB還引入了無符號的8位整型數(shù)據(jù)unit8(),其值域為0255。此外還有int8()、int16()、unit16()、unit32()等,每一個類型后面的數(shù)字表示其位數(shù)。 在MATLAB中復(fù)數(shù)可以直接輸入和計算,虛數(shù)單位用i或者j 表示,i=sqrt(-1)在工作空間顯示為 0+1.0000i。MATLAB 中復(fù)數(shù)可以用下面兩種方式表達(dá):z
10、=a+b*i或z=r*exp(i*) 例如: a=1+sqrt(3)*i;%復(fù)數(shù)的兩種表示方法復(fù)數(shù)的兩種表示方法 b=2*exp(i*pi/3); m=1 3;5 7+i*2 4;6 8%復(fù)數(shù)作為矩陣元素的表示方法復(fù)數(shù)作為矩陣元素的表示方法 n=1+2i 3+4i; 5+6i 7+8i 需要注意的是,當(dāng)復(fù)數(shù)的虛部為一個確定的數(shù)(而不是變量或者矩陣)時,可以省略系數(shù)和虛數(shù)單位之間的“*”,即3+i*6可以寫成3+6i,但是x+i*y不能寫成x+yi;當(dāng)復(fù)數(shù)作為矩陣元素復(fù)數(shù)作為矩陣元素時,復(fù)數(shù)內(nèi)不能留有空格,否則可能會被當(dāng)作兩個元素處理而出錯。例如k1為一向量,但是k2則是一個矩陣。 k1=3+4
11、i; 5+6i k2=3 +4i;5 +6i MATLAB中的數(shù)據(jù)類型v 符號型數(shù)據(jù) Mathworks公司利用Maple函數(shù)庫開發(fā)了MATLAB的符號數(shù)學(xué)工具箱(Extended Sybolic Math),可進(jìn)行解析數(shù)學(xué)運算,包括積分、微分、求和、多項式運算、求解方程等 符號型數(shù)據(jù)則是在MATLAB中定義的特殊變量,它以字符串的形式表示,但又不同于普通字符串。其變量、表達(dá)式均為符號對象。符號對象使用sym或者syms生成,語法格式為syms arg1 arg2 . arg_props。 通常,可以將函數(shù)包含在成對的單引號內(nèi),組成符號表達(dá)式,也可以在定義了符號變量以后,用符號變量建立符號表達(dá)
12、式,為了方便且易于理解,一般推薦第二種方式,例如: syms x y;%利用利用syms生成符號對象生成符號對象 z=sym(z);%利用利用sym生成符號對象生成符號對象 m=sym(m,real);%聲明符號對象聲明符號對象m為實的為實的 n=sym(n,positive);%聲明符號對象聲明符號對象n為正的為正的 m=sym(m,unreal);%去掉去掉m的附加屬性的附加屬性 A=1 x; y z%生成符號矩陣生成符號矩陣 f=sin(x)+cos(x);%建立符號表達(dá)式建立符號表達(dá)式 findsym(f);%查找符號表達(dá)式查找符號表達(dá)式f中的所有自由變量中的所有自由變量MATLAB中
13、的數(shù)據(jù)類型v 字符串型數(shù)據(jù) MATLAB作為一種高級語言,字符串運算功能也是很豐富的,字符串(String of character)就是字符數(shù)組(Character array),一個字符串是存儲在一個行向量中的文本,由單引號括起來(yesinput除外)。在字符串里的每個字符是數(shù)組里的一個元素,字符串中空格也是字符,由于字符串是以向量的形式來存儲的,因而可以通過它的下標(biāo)對字符串中的任何一個元素進(jìn)行訪問,例如: s1=MATLAB STRING;%生成字符串生成字符串s1 dim=size(s1)%顯示顯示s1的維數(shù),為的維數(shù),為113階矩陣階矩陣 dim = 13 s2=MATLAB ST
14、RING;%生成字符數(shù)組生成字符數(shù)組s2,與,與s1等價等價 s1(2);%通過下標(biāo)訪問字符串,通過下標(biāo)訪問字符串,ans=AMATLAB中的數(shù)據(jù)類型v 多維數(shù)組 數(shù)組也可以嵌套,一個數(shù)組的元素可以是另外一個數(shù)組,這樣就構(gòu)成了多維數(shù)組,圖示即為一個三維數(shù)組,數(shù)組的第一維稱為“行”,第二維稱為“列”,第三維稱為“頁”,我們可以通過按頁輸入的方法構(gòu)造一個三維數(shù)組并進(jìn)行運算 A=1 2; 1 3; B(:,:,1)=A;%輸入矩陣輸入矩陣B的第一頁的第一頁 B(:,:,2)=A2;%輸入矩陣輸入矩陣B的第二頁的第二頁 B(:,:,3)=A2;%輸入矩陣輸入矩陣B的第三頁的第三頁 C=ones(2,2
15、,3);%矩陣矩陣C為為為為223維全維全1矩陣矩陣 D=C./B%三維矩陣間的三維矩陣間的./運算運算 D(:,:,1) = 1.0000 0.5000 1.0000 0.3333 D(:,:,2) = 0.3333 0.1250 0.2500 0.0909 D(:,:,3) = 0.3333 0.1250 0.2500 0.0909MATLAB中的數(shù)據(jù)類型v 元胞數(shù)組元胞數(shù)組可以看做是多維數(shù)組的直接擴(kuò)展,其存儲形式類似于矩陣,但元胞數(shù)組的元素不一定是數(shù)值,可以是MATLAB支持的任意存儲類型,并且各元素的類型也可以不盡相同。其元素就被稱為“元胞”(cell)。元胞數(shù)組也用下標(biāo)標(biāo)識,但元胞數(shù)
16、組中有元胞元素和元胞元素的內(nèi)容兩個概念,用圓括號表示元胞元素,用大括號來包含元胞元素的內(nèi)容,cell i,j即表示元胞數(shù)組cell的第i行,第j列的存儲內(nèi)容,亦即元胞元素cell (i,j)的內(nèi)容。一個直接的例子就是在直接賦值的過程中,與在矩陣的定義中使用的中括號不同,元胞數(shù)組元素的內(nèi)容要用大括號來包含,元素之間由逗號隔開 A=2 5;4 2;%矩陣的定義使用的是中括號矩陣的定義使用的是中括號 B=A, 6 9;test,1 6;7 4%元胞數(shù)組的定義使用的是大括號元胞數(shù)組的定義使用的是大括號 B = %僅顯示元胞數(shù)組中的存儲量類型僅顯示元胞數(shù)組中的存儲量類型 2x2 double 1x2 d
17、ouble test 2x2 double C(1,1)=1 3;5 7;%C(1,1)代表元胞元素,其內(nèi)容是一矩陣代表元胞元素,其內(nèi)容是一矩陣 C1,2=2 4;6 8;%C1,2代表代表C(1,2)的內(nèi)容,為一矩陣的內(nèi)容,為一矩陣 celldisp(C)%顯示元胞數(shù)組顯示元胞數(shù)組C的具體內(nèi)容的具體內(nèi)容 C1 = 1 3 5 7 C2 = 2 4 6 8MATLAB中的數(shù)據(jù)類型v 結(jié)構(gòu)型數(shù)組 結(jié)構(gòu)型數(shù)組與元胞數(shù)組類似,不同之處在于結(jié)構(gòu)型數(shù)組利用指針方式傳遞數(shù)據(jù)。在結(jié)構(gòu)數(shù)組的直接賦值定義過程中,需要指出結(jié)構(gòu)中的屬性名,并且以指針操作符“.”來連接結(jié)構(gòu)型數(shù)組與屬性名,在命令行提示符后輸入結(jié)構(gòu)型數(shù)
18、組的名稱,則可顯示其屬性以及屬性值。例如: student_1.name=lin hong; student_1.stature=182; student_1.weight=79; student_1 student_1 = name: lin hong stature: 182 weight: 79MATLAB語言中的變量v MATLAB中變量區(qū)別于其他編程語言的特點MATLAB表達(dá)式中可以使用矩陣形式矩陣形式;MATLAB中不需要預(yù)先聲明變量的類型和維數(shù)不需要預(yù)先聲明變量的類型和維數(shù),MATLAB會根據(jù)對新變量的操作創(chuàng)建該變量,確定其類型并為其分配存儲空間;對已經(jīng)存在的變量的賦值操作,MA
19、TLAB會以新值代替舊值。如果需要的話,MATLAB可以改變該變量的類型或者為其分配新的存儲空間v MATLAB變量的命名規(guī)則MATLAB中的變量名由一個字母導(dǎo)引由一個字母導(dǎo)引,后面可以跟字母、數(shù)字、下劃線等,但不能用空格或者標(biāo)點符號。例如var_temp、control_input1、state21均是合法變量名,而_output、45time、position等均是非法變量名;變量名不能是MATLAB的保留字,例如for、end、while、if等命令名;MATLAB中的變量名是大小寫敏感大小寫敏感的,即A和a代表不同的變量;變量名長度不能超過63位(在MATLAB7.8中預(yù)先定義了變量名
20、長度最大值namelengthmax為63),超過的部分將被忽略,即如果兩個變量名的前63個字符相同,則MATLAB認(rèn)為其為相同的變量;一些常量也可以作為變量來使用,例如i和j在MATLAB中表示虛數(shù)單位,但是也可以作為變量,例如i和j還經(jīng)常作為循環(huán)語句中的循環(huán)變量。MATLAB中的常量v 常量的概念 常量是一些在MATLAB中預(yù)先定義預(yù)先定義好數(shù)值的變量,既然其本質(zhì)是變量本質(zhì)是變量,就可以對其進(jìn)行重新賦值,但在編程時,為了避免不必要的麻煩,請盡量避免對這些特定常量的重新賦值。 常量名用法pi圓周率eps機(jī)器的浮點運算誤差限,2.2204e-016,若|x| A=1 2 3 4 5;%生成行向
21、量,同行元素之間用空格隔開生成行向量,同行元素之間用空格隔開 A=1,2,3,4,5;%生成行向量,同行元素之間用生成行向量,同行元素之間用“,”隔開,與上一語句形式等隔開,與上一語句形式等價價 B=1;2;3;4;5;%生成列向量生成列向量生成幻方矩陣 的下面語句也等價 A=2 9 4; 7 5 3; 6 1 8;%同行元素用空格隔開,行之間用同行元素用空格隔開,行之間用;隔開隔開 A=2,9,4; 7,5,3; 6,1,8;%同行元素用同行元素用,隔開,行之間用隔開,行之間用;隔開隔開 A%顯示輸入的矩陣顯示輸入的矩陣A = 2 9 4 7 5 3 6 1 8294753618A矩陣的生成
22、v 冒號表達(dá)式產(chǎn)生一個行向量 一般格式是:Vec=start:step:end,其中start為初始值,step為步長,end為終止值,當(dāng)不能生成向量時返回空,如果不指定step的值,則默認(rèn)step=1,例如: Vec=0:2:10 Vec = 0 2 4 6 8 10 Vec=1:6%默認(rèn)默認(rèn)step=1 Vec = 1 2 3 4 5 6 Vec=0:1:pi%當(dāng)步長為正數(shù)時,最后一個值為不大于當(dāng)步長為正數(shù)時,最后一個值為不大于end的最大值的最大值 Vec = 0 1 2 3 Vec=2:-0.3:1%當(dāng)步長為負(fù)數(shù)時,最后一個值為不小于當(dāng)步長為負(fù)數(shù)時,最后一個值為不小于end的最小值的最
23、小值 Vec = 2.0000 1.7000 1.4000 1.1000矩陣的生成v linspace()生成線性等間距格式行向量 其調(diào)用格式為:linspace(start,end,num) ,其中start和end是生成向量的第一個和最后一個元素,num是元素總數(shù),linspace(a,b,n)與a:(b-a)/(n-1):b等價。 Vec=linspace(0,10,6)%遞增生成線性等間距格式行向量遞增生成線性等間距格式行向量 Vec = 0 2 4 6 8 10 Vec=linspace(5,0,6)%遞減生成線性等間距格式行向量遞減生成線性等間距格式行向量 Vec = 5 4 3
24、2 1 0v logspace()生成等比格式行向量 Vec=logspace(start,end,num)創(chuàng)建從10start開始,到10end結(jié)束,有num個元素的對數(shù)分隔行向量Vec。num的默認(rèn)值為50,Vec等價于10. linspace(start,end,num) Vec=logspace(0,4,5) %生成等比格式行向量生成等比格式行向量 Vec = 1 10 100 1000 10000 矩陣的生成v 特殊矩陣的生成函數(shù) ones()函數(shù)生成全1矩陣 全1矩陣即元素均為1的矩陣,其中ones(n)生成nn維的全1矩陣,ones(m,n)生成mn維的全1矩陣。ones(m,n
25、,p,.)生成mnp.維全1矩陣。 zeros()函數(shù)生成生全0矩陣 全0矩陣即元素均為0的矩陣,其中zeros(n)生成nn維的全0矩陣,zeros(m,n)生成mn維的全0矩陣。zeros(m,n,p,.)生成mnp.維全0矩陣。 eye()函數(shù)生成單位陣 單位陣即對角線元素為1,其余元素為0的矩陣。eye(n)生成nn維的單位陣。 rand()函數(shù)生成隨機(jī)矩陣 生成矩陣元素滿足在(0,1)區(qū)間內(nèi)的均勻分布 randn()函數(shù)生成隨機(jī)矩陣 矩陣元素滿足均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布矩陣的訪問v 向量的訪問 向量是有多個有序元素組成的,因而可以直接通過向量的下標(biāo)來對向量中的元素進(jìn)行訪問和修
26、改,Vec(i)即表示向量Vec中的第i個元素。特別提出的是,可以通過冒號表達(dá)式對向量元素進(jìn)行訪問,也可以用中括號方式任意指定多個向量元素進(jìn)行訪問。 Vec=rand(1,6)%生成一個生成一個16的隨機(jī)行向量的隨機(jī)行向量 Vec = 0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 Vec(3)%通過下標(biāo)訪問向量的第通過下標(biāo)訪問向量的第3個元素個元素 ans = 0.1270 Vec(5)=0%通過下標(biāo)修改向量第通過下標(biāo)修改向量第5個元素的值,賦值為個元素的值,賦值為0 Vec = 0.8147 0.9058 0.1270 0.9134 0 0.0975 V
27、ec(2:4)%通過冒號表達(dá)式訪問向量的第通過冒號表達(dá)式訪問向量的第24個元素個元素 ans = 0.9058 0.1270 0.9134 Vec(2:2:6)%通過冒號表達(dá)式訪問向量的第通過冒號表達(dá)式訪問向量的第2、4、6個元個元素素 ans = 0.9058 0.9134 0.0975 Vec(1 3 4)%通過中括號訪問多個指定的向量元素通過中括號訪問多個指定的向量元素 ans = 0.8147 0.1270 0.9134 Vec(1 3)=0 0%通過中括號修改多個指定的向量元素的值通過中括號修改多個指定的向量元素的值 Vec = 0 0.9058 0 0.9134 0 0.0975
28、Vec(4:end)%end參數(shù)表示結(jié)尾參數(shù)表示結(jié)尾 ans = 0.9134 0 0.0975矩陣的訪問v 矩陣的訪問 矩陣元素的訪問一般使用二維下標(biāo),即A(i,j)表示A中第i行、第j列的元素 A=4 1 7;2 5 6;3 8 9; %生成一個生成一個33的矩陣的矩陣 A(3,3)%通過下標(biāo)訪問通過下標(biāo)訪問A的第的第3行第行第3列的元素列的元素 ans = 9 A(3,2)=0%通過下標(biāo)修改通過下標(biāo)修改A的第的第3行第行第2列的元素列的元素 A = 4 1 7 2 5 6 3 0 9 矩陣的一維下標(biāo)以列優(yōu)先,不如用二維下標(biāo)來的直觀,對于mn維矩陣A,對于同一個元素,A(p,q)和A(i)
29、中的參數(shù)存在如下關(guān)系: 由二維下標(biāo)轉(zhuǎn)化為一維下標(biāo) i=m(q-1)+p 由一維下標(biāo)轉(zhuǎn)化為二維下標(biāo) p=mod(i,m) , q=fix(i/m)+1, 矩陣的拆分 v 利用冒號表達(dá)式獲得子矩陣 A(:,j)表示取A的第j列全部元素;A(i,:)表示取A第i行的全部元素;A(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素;A(i:i+m,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素 A=randn(3,3)%生成生成33的隨機(jī)矩陣的隨機(jī)矩陣 A = -0.4336 2.7694 0.7254 0.3426 -1.
30、3499 -0.0631 3.5784 3.0349 0.7147 A(2,:) %A(2,:)表示表示A第第2行的全部元素行的全部元素 ans = 0.3426 -1.3499 -0.0631 A(:,3) %A(:,3)表示表示A的第的第3列全部元素列全部元素 ans = 0.7254 -0.0631 0.7147 A(2:3,:) %A(2:3,:)表示表示A的第的第23行的全部元素行的全部元素 ans = 0.3426 -1.3499 -0.0631 3.5784 3.0349 0.7147 A(:,1:2) %A(:,1:2)表示表示A的第的第12列的全部元素列的全部元素 ans =
31、 -0.4336 2.7694 0.3426 -1.3499 3.5784 3.0349 A(2:3,1:2) %A(2:3,1:2)表示表示A的第的第23行內(nèi),并在第行內(nèi),并在第12%列中的所有元素列中的所有元素 ans = 0.3426 -1.3499 3.5784 3.0349 A(1:2,2:end)%A(1:2,2:end)表示表示A的第的第12行內(nèi),并在第行內(nèi),并在第2最后一列最后一列(第第3列列)中的所有元素中的所有元素 ans = 2.7694 0.7254 -1.3499 -0.0631矩陣的拆分v 利用一般向量和end運算符來表示矩陣下標(biāo)從而獲得子矩陣 A(1:2,2:en
32、d) %A(1:2,2:end)表示表示A的第的第12行內(nèi),并在第行內(nèi),并在第2第第3列中的所有元素列中的所有元素ans = 2.7694 0.7254 -1.3499 -0.0631v 通過中括號方式對矩陣元素進(jìn)行重排,獲得新矩陣 F=A(1,1,2,:)%通過中括號復(fù)制通過中括號復(fù)制A的第的第1行行2次,第次,第2行行1次次F = -0.4336 2.7694 0.7254 -0.4336 2.7694 0.7254 0.3426 -1.3499 -0.0631 B=eye(3)%生成生成33階單位陣階單位陣BB = 1 0 0 0 1 0 0 0 1 A(:,1 3)=B(:,2:3)%
33、將將A的第的第1、3行用行用B的第的第2行到第行到第3行取代行取代A = 0 2.7694 0 1.0000 -1.3499 0 0 3.0349 1.0000矩陣的抽取v 矩陣抽取的函數(shù) 可以通過MATLAB中提供的函數(shù)的對矩陣進(jìn)行抽取,其中diag是抽取矩陣主對角線元素,tril是抽取矩陣的主下三角元素,triu是抽取矩陣主上三角元素 A=1 2 3;4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 diag(A)%抽取矩陣抽取矩陣A的主對角線元素的主對角線元素 ans = 1 5 9 tril(A)%抽取矩陣抽取矩陣A的主下三角元素的主下三角元素 ans = 1 0 0
34、 4 5 0 7 8 9 triu(A)%抽取矩陣抽取矩陣A的主上三角元素的主上三角元素 ans = 1 2 3 0 5 6 0 0 9矩陣的擴(kuò)展v 通過把矩陣B的子塊賦值為A來擴(kuò)展矩陣A 通過把矩陣B的子塊賦值為A來擴(kuò)展矩陣A,假設(shè)A為mn維矩陣,一般的命令格式為:B(r1:r2,c1:c2)=A,且需注意維數(shù)一致,即r2-r1+1=m且c2-c1+1=n。對于B中原先并不存在的元素,MATLAB將自動補(bǔ)0 A=1 3 5;2 4 6 A = 1 3 5 2 4 6 B(2:3,2:4)=A%將將A矩陣擴(kuò)充,使得矩陣擴(kuò)充,使得A成為成為B的一子的一子 塊塊 B = 0 0 0 0 0 1 3
35、 5 0 2 4 6矩陣的連接v 橫向連接 設(shè)A為mn1維矩陣、B是mn2維矩陣,注意其行數(shù)相同,則我們將矩陣A、B按行連接成m(n1+n2)維的矩陣C,可以寫成C=A,Bv 縱向連接 設(shè)A為m1n維矩陣、B為m2n維矩陣,注意其列數(shù)相同,則我們將矩陣A、B縱向連接成(m1+ m2)n維的矩陣C,可以寫成C=A;B %橫向連接橫向連接 A=1 3 2; 4 3 2 A = 1 3 2 4 3 2 B=1 7;5 6 B = 1 7 5 6 C=A,B C = 1 3 2 1 7 4 3 2 5 6%縱向連接縱向連接 A=3 5A = 3 5 B=7 4;3 6B = 7 4 3 6 C=A;B
36、C = 3 5 7 4 3 6符號運算v 符號表達(dá)式的化簡 v 因式分解 v 符號微積分 符號極限 符號微分 符號積分符號表達(dá)式的化簡v 符號化簡的函數(shù) 假設(shè)符號表達(dá)式為f,MATLAB提供的對符號表達(dá)式化簡的函數(shù)有: simplify( f ) 應(yīng)用函數(shù)規(guī)則對f進(jìn)行化簡。 simple( f ) 調(diào)用相關(guān)函數(shù)對表達(dá)式進(jìn)行綜合化簡,并顯示化簡過程 例如化簡 syms x y; f=(x2+y2)2+(x2-y2)2+sin(x)2+cos(x)2; simplify(f) ans = 2*x4 + 2*y4 + 122 222 222()()si ncosfxyxyxx=+-+符號表達(dá)式的因式
37、分解v 符號表達(dá)式的因式分解函數(shù)為factor( f ), 其中f為一個符號多項式 syms x; f=x3-1;%生成符號表達(dá)式生成符號表達(dá)式f=x3-1 f1=factor(f)%對對f=x3-1進(jìn)行因式分解,結(jié)果存入進(jìn)行因式分解,結(jié)果存入f1 f1 = (x - 1)*(x2 + x + 1)符號極限v 函數(shù)調(diào)用方法 limit(f,x,a) 計算f在xa條件下的極限 limit(f,a) 計算f中由默認(rèn)自變量趨向于a條件下的極限 limit(f) 計算f在默認(rèn)自變量趨向于0條件下的極限 limit(f,x,a,right) 和limit(f,x,a,left) 計算f在xa條件下的右極
38、限和左極限例如求取符號表達(dá)式 和 的極限值 syms x a; r1=limit(sin(x)/x)%求符號表達(dá)式求符號表達(dá)式 的極限值的極限值r1 =1 f=(1+a/x)x; r2=limit(f,x,inf,left)%求符號表達(dá)式求符號表達(dá)式 的極限值的極限值r2 =exp(a)0si n( )l i mxxx_l i m(1)xxax+0si n( )l i mxxx_l i m(1)xxax+符號微分v 函數(shù)調(diào)用方法 diff(f)求f對于默認(rèn)自變量的微分 diff(f,x)求f對于自變量x的微分 diff(f,n)求f對于默認(rèn)自變量的n次微分例如求取符號表達(dá)式 的一次微分和二次微
39、分 syms x f=exp(x)*sin(x); r1=diff(f)%求符號表達(dá)式求符號表達(dá)式f的一次微分的一次微分 r1 = exp(x)*cos(x) + exp(x)*sin(x) r2=diff(f,2) %求符號表達(dá)式求符號表達(dá)式f的二次微分的二次微分 r2 = 2*exp(x)*cos(x)si nxfex=符號積分v 函數(shù)調(diào)用方法 int(f) 求f對于默認(rèn)自變量的不定積分 int(f,x) 求f對于自變量x的不定積分 int(f,a,b)求f對于默認(rèn)自變量從a到b的定積分例如求不定積分 和定積分 syms x; f1=-2*x/(1+x2)2; f2=x*log(1+x);
40、 r1=int(f1)%求不定積分求不定積分 r2=int(f2,0,1)%求定積分求定積分r1 =1/(x2 + 1)r2 =1/42 22(1)xdxx-+10(1l n )xx dx+關(guān)系與邏輯運算 v 關(guān)系運算 MATLAB中的關(guān)系運算符有:(小于)、(大于)、=(大于或等于,不小于)、=(等于)、=(不等于)。關(guān)系運算符的運算法則為:若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。v 邏輯運算 MATLAB中的邏輯運算符有:&(與)、|(或)、(非)。0 的邏輯量為“假”,而任意非零數(shù)的邏輯量為“真”。邏輯運算的運算法則為:設(shè)參與邏輯運算的是兩個標(biāo)量為a和b,那么,對于a&
41、b,a、b全為非零時,運算結(jié)果為1,否則為0。對于a|b,a、b中只要有一個非零,運算結(jié)果為1。對于a,當(dāng)a是零時,運算結(jié)果為1;當(dāng)a非零時,運算結(jié)果為0。邏輯運算真值表如表所示。aba&ba|ba00001010111001011110矩陣運算v 矩陣的代數(shù)運算 矩陣基本運算 矩陣的點運算 v 矩陣的關(guān)系與邏輯運算 v 矩陣的數(shù)據(jù)變換 矩陣的變維 矩陣的變向 v 矩陣分析 矩陣的行列式運算 矩陣的秩運算 矩陣的求逆運算 矩陣的特征值和特征向量運算 矩陣的跡運算 矩陣的基本運算v 矩陣的加減 若A和B維數(shù)相同維數(shù)相同,則可由A+B和A-B實現(xiàn)矩陣的加減運算,即將A和B矩陣的對應(yīng)元素相加
42、減。若參與運算的兩矩陣之一為標(biāo)量,則將標(biāo)量與矩陣的所有元素分別進(jìn)行加減操作。 A = 1 2; 3 4;%生成生成22維矩陣維矩陣A A+2%矩陣與標(biāo)量相加,將標(biāo)量與矩陣的所有元素相加矩陣與標(biāo)量相加,將標(biāo)量與矩陣的所有元素相加 ans = 3 4 5 6 B = 1 0; 0 1;%生成生成22維單位陣維單位陣B A+B%矩陣加法,對應(yīng)元素相加矩陣加法,對應(yīng)元素相加 ans = 2 2 3 5 A-B%矩陣減法,對應(yīng)元素相減矩陣減法,對應(yīng)元素相減 ans = 0 2 3 3矩陣的基本運算v 矩陣的乘法若A為mn維矩陣,B為np維矩陣,注意矩陣A的列數(shù)等于矩陣的列數(shù)等于矩陣B的行數(shù)的行數(shù),則可以
43、由C=A*B實現(xiàn)矩陣的乘法,結(jié)果為mp維矩陣。標(biāo)量可與任何矩陣相乘。v 矩陣的除法在MATLAB中,有兩種矩陣除法運算:左除和右除/。如果A矩陣是非奇異方陣,即A有逆矩陣,則可以由AB和B/A實現(xiàn)上述兩種運算。AB等價于inv(A)*B,亦即方程A *x = B的解;B/A等價于B *inv(A),亦即方程x*A = B的解。對于含有標(biāo)量的運算,兩種除法運算的結(jié)果相同。對于矩陣來說,一般ABB/A A = 1 2; 3 4; B = 1 0; 0 1; A*B%矩陣乘法,由于矩陣乘法,由于B是單位陣,故仍為是單位陣,故仍為A ans = 1 2 3 4 A/B%矩陣右除,結(jié)果即方程矩陣右除,結(jié)
44、果即方程x*B = A的解的解 A*inv(B) ans = 1 2 3 4 AB%矩陣左除,結(jié)果即方程矩陣左除,結(jié)果即方程A*x = B的解的解 inv(A)*B ans = -2.0000 1.0000 1.5000 -0.5000矩陣的點運算v 概念 點運算符有.*(點乘)、./(點右除)、.(點左除)、.(點乘方)、.(點轉(zhuǎn)置)。兩個矩陣進(jìn)行點運算是指它們的對應(yīng)元素進(jìn)行相關(guān)運算,要求兩矩陣的維數(shù)相同維數(shù)相同 A=1 2;3 4; B=5 6;7 8; A.*B%.*:A和和B對應(yīng)元素相乘,注意和對應(yīng)元素相乘,注意和A*B的區(qū)別的區(qū)別 ans = 5 12 21 32 A./B%./:A
45、和和B對應(yīng)元素相除,注意和對應(yīng)元素相除,注意和A/B的區(qū)別的區(qū)別 ans = 0.2000 0.3333 0.4286 0.5000 A.3%.: 對應(yīng)元素和標(biāo)量的乘方對應(yīng)元素和標(biāo)量的乘方 ans = 1 8 27 64 A.A%.: 對應(yīng)矩陣元素之間的乘方對應(yīng)矩陣元素之間的乘方 ans = 1 4 27 256 A.%.: 非共軛轉(zhuǎn)置,注意非共軛轉(zhuǎn)置,注意.與與的區(qū)別,的區(qū)別,為共軛轉(zhuǎn)置為共軛轉(zhuǎn)置 ans = 1 3 2 4矩陣的關(guān)系與邏輯運算v 運算規(guī)則若參與關(guān)系與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進(jìn)行比較或運算。最終運算結(jié)果是一個與原矩陣同維的矩陣,
46、其元素由1或0組成若參與關(guān)系與邏輯運算的一個是標(biāo)量,一個是矩陣,那么運算將在標(biāo)量與矩陣中的每個元素之間按標(biāo)量規(guī)則逐個進(jìn)行比較或運算。最終運算結(jié)果是一個與矩陣同維的矩陣,其元素由1或0組成 A=1 3;6 9;B=4 2;0 7;A=B%同維矩陣的關(guān)系運算同維矩陣的關(guān)系運算 ans = 0 1 1 1 a=5;A=2 5;6 1;a=A%標(biāo)量與矩陣的關(guān)系運算標(biāo)量與矩陣的關(guān)系運算 ans = 0 1 0 0 A=4 3;0 1; B=1 0;2 3; A|B%同維矩陣的邏輯或運算同維矩陣的邏輯或運算 ans = 1 1 1 1 a=2;A=0 1;3 2;a&A%標(biāo)量與矩陣的邏輯與運算標(biāo)量
47、與矩陣的邏輯與運算 ans = 0 1 1 1矩陣的變維 v 變維的方式 reshape命令可以實現(xiàn)矩陣的變維,該命令將矩陣已有元素按照用戶指定的方式生成新的矩陣,例如B=reshape(A,m,n)命令將生成矩陣B,B為mn維矩陣,且B的元素按列從A中抽取,如果A的元素少于mn,則MATLAB返回錯誤信息。 另一種變維的方式是首先定義矩陣的結(jié)構(gòu),然后將已有的元素填充的新定義的矩陣中去,這里元素的填充方式仍然是按照列的方式 A=1:6%生成生成16維的行向量維的行向量 B=reshape(A,2,3)%將行向量的元素值重構(gòu)為維矩陣將行向量的元素值重構(gòu)為維矩陣 B = 1 3 5 2 4 6 C
48、=zeros(3,2); C(:)=B(:)%將將23維矩陣重構(gòu)為維矩陣重構(gòu)為32維矩陣維矩陣 C = 1 4 2 5 3 6矩陣的變向v 矩陣的轉(zhuǎn)置 轉(zhuǎn)置運算符是單撇號(),矩陣A的轉(zhuǎn)置在MATLAB中用A來表示,如果A是復(fù)數(shù)矩陣,則A為A的共軛轉(zhuǎn)置矩陣,而非共軛轉(zhuǎn)置矩陣可用A.來求得 A=1 2;3 4; A%實矩陣的轉(zhuǎn)置實矩陣的轉(zhuǎn)置 ans = 1 3 2 4 B=1+i 2;1 i; B%復(fù)矩陣的共軛轉(zhuǎn)置復(fù)矩陣的共軛轉(zhuǎn)置 ans = 1.0000 - 1.0000i 1.0000 2.0000 0 - 1.0000i B.%復(fù)矩陣的非共軛轉(zhuǎn)置復(fù)矩陣的非共軛轉(zhuǎn)置 ans = 1.0000
49、 + 1.0000i 1.0000 2.0000 0 + 1.0000i矩陣的變向v 矩陣的旋轉(zhuǎn) rot90(A,k)將矩陣A旋轉(zhuǎn)90的k倍,k默認(rèn)值為1;fliplr(A)對矩陣A實施左右翻轉(zhuǎn);flipud(A)對矩陣A實施上下翻轉(zhuǎn) A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 rot90(A)%將矩陣將矩陣A旋轉(zhuǎn)旋轉(zhuǎn)90ans = 3 6 9 2 5 8 1 4 7 fliplr(A)%將矩陣將矩陣A左右翻轉(zhuǎn)左右翻轉(zhuǎn)ans = 3 2 1 6 5 4 9 8 7 flipud(A)%將矩陣將矩陣A上下翻轉(zhuǎn)上下翻轉(zhuǎn)ans = 7 8 9 4 5 6 1 2
50、 3矩陣分析v 矩陣的行列式運算 對一個方陣方陣可以通過det命令求矩陣的行列式,若A為數(shù)值矩陣,則得出數(shù)值計算結(jié)果,若A為符號矩陣,則得出解析解。例如: A=magic(3) A = 8 1 6 3 5 7 4 9 2 det(A)%數(shù)值矩陣(三階幻方矩陣)的行列式計算數(shù)值矩陣(三階幻方矩陣)的行列式計算 ans = -360 syms a b c d; A=a b;c d A = a, b c, d det(A) %符號矩陣的行列式計算符號矩陣的行列式計算 ans = a*d - b*c矩陣分析v 矩陣的秩運算 矩陣的行向量(或者列向量)中的最大線性無關(guān)組的個數(shù)稱為矩陣的秩。在MATLAB
51、中,求矩陣秩的函數(shù)是rank(A)。 A=1 2 3;2 3 4;3 6 7; %3行元素均線性無關(guān)行元素均線性無關(guān) rank(A) ans = 3 B=1 2 3;4 5 6;B(3,:)=2*B(1,:)+3*B(2,:) %第第3行為前兩行的線性組合行為前兩行的線性組合 B = 1 2 3 4 5 6 14 19 24 rank(B) ans = 2 C=ones(3) rank(C) ans = 1矩陣分析v 矩陣的求逆運算 若矩陣A為方陣且滿秩方陣且滿秩,且存在一個與其同階的方陣B,使得:AB=BA=I (I為單位矩陣) 則稱A為B互為逆矩陣。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)
52、A=magic(3)%滿秩方陣的逆滿秩方陣的逆 A = 8 1 6 3 5 7 4 9 2 inv(A) ans = 0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028 若矩陣A為非方陣非方陣或非滿秩的方陣非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉(zhuǎn)置矩陣A同型的矩陣B,使得:ABA=A,BAB=B, 此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。求一個矩陣偽逆的函數(shù)是pinv(A) A=1 2;4 5;6 7;pinv(A) %非方陣的廣義逆非方陣的廣義逆 ans = -1.3158 -0.2105
53、 0.5263 1.1053 0.2368 -0.3421 B=1 2 3;4 5 6;5 7 9;pinv(B)%非滿秩矩陣的廣義逆非滿秩矩陣的廣義逆 ans = -0.7778 0.6111 -0.1667 -0.1111 0.1111 -0.0000 0.5556 -0.3889 0.1667矩陣分析v 矩陣的特征值和特征向量運算 對矩陣A而言,滿足PA()=det(I-A)=0的根為矩陣A的特征值。滿足iv=Av的向量v為矩陣A關(guān)于特征值i的特征向量,PA()稱為矩陣A的特征多項式。矩陣的特征值和特征向量可以調(diào)用函數(shù)eig()求得。調(diào)用格式如下: E=eig(A):求矩陣A的全部特征值
54、,構(gòu)成向量E V,D=eig(A):輸出參數(shù)D為對角陣,其對角線上的元素為矩陣A的特征值,每個特征值對應(yīng)的特征向量即為矩陣V的對應(yīng)列,且特征向量均進(jìn)行模方歸一化處理 V,D=eig(A,nobalance):與第2種格式類似,只是不進(jìn)行模方歸一化處理 A=magic(3);V,D=eig(A)%求三階幻方矩陣的特征值和特征向量求三階幻方矩陣的特征值和特征向量V =%特征向量特征向量 -0.5774 -0.8131 -0.3416 -0.5774 0.4714 -0.4714 -0.5774 0.3416 0.8131D =%特征值特征值 15.0000 0 0 0 4.8990 0 0 0 -
55、4.8990矩陣分析v 矩陣的跡運算 若矩陣A為方陣方陣,則矩陣A的跡即為該矩陣對角線上各元素的和。矩陣的跡和該矩陣的特征值之和是相同的。在MATLAB中求矩陣A的跡的函數(shù)為trace(A) A=magic(3)%生成三階幻方矩陣生成三階幻方矩陣A A = 8 1 6 3 5 7 4 9 2 trace(A)%求求A的跡的跡 ans = 15 v=eig(A)%驗證矩陣驗證矩陣A的跡與其特征值的相等的跡與其特征值的相等 v = 15.0000 4.8990 -4.8990 sum_of_eig_A=v(1)+v(2)+v(3) sum_of_eig_A = 15.0000MATLAB中的圖形功
56、能v 概述 MATLAB在繪圖方面的功能比較全面,這里我們介紹如何實現(xiàn)簡單的二維、三維圖形的可視化v 繪圖步驟 準(zhǔn)備繪圖數(shù)據(jù),例如對于輸入輸出有對應(yīng)關(guān)系的圖形,就是確定函數(shù)關(guān)系和自變量的取值范圍 調(diào)用繪圖函數(shù) 定制圖形的輸出,例如線形和標(biāo)記特性,坐標(biāo)軸的設(shè)置、標(biāo)記符號、圖例等繪制二維圖形的fplot函數(shù)v 調(diào)用方法 該函數(shù)將自動生成繪圖時的自變量的步長間隔,即繪圖的點數(shù),為用戶產(chǎn)生盡可能精確的的圖象。調(diào)用fplot的形式如fplot(fun, x1, x2),該命令作出函數(shù)fun在定義域x1, x2上的函數(shù)圖 例如繪制 在-2,2上的圖像可以在命令窗口輸入 fplot(exp(sinx),-2
57、, 2);si n( )xf xe=繪制二維圖形的plot函數(shù)v 當(dāng)具有一個輸入?yún)?shù)時,調(diào)用格式為plot(y) 若y為實向量,則以其向量索引為橫坐標(biāo),以y向量的元素為縱坐標(biāo)來繪制圖形 例如下面命令繪制了一個行向量的圖形如圖1所示 y=rand(1,100);%生成生成1100的實行向量的實行向量 plot(y)%繪制繪制y向量向量(向量索引,向量值向量索引,向量值)的圖形(如圖的圖形(如圖1所示)所示) 若y為復(fù)向量,則以向量實部為橫坐標(biāo),向量虛部作為縱坐標(biāo)來繪制二維圖形 例如構(gòu)造一維復(fù)向量y繪圖如圖2所示 x=-2*pi:pi/100:2*pi; y=sin(x)+cos(x).*i; %
58、生成復(fù)向量生成復(fù)向量 plot(y)%繪制繪制y向量向量(實部,虛部實部,虛部)的圖形的圖形圖1圖2繪制二維圖形的plot函數(shù)v 當(dāng)具有二個輸入?yún)?shù)時,調(diào)用格式為plot(x,y) 一般情況下,我們在繪圖時采用自變量和函數(shù)值之間的函數(shù)關(guān)系,且采用自定義的步長,此時plot函數(shù)將有兩個輸入?yún)?shù):自變量和函數(shù)值,這兩者將是兩個同長度的向量,為了圖形的精確性,需要選擇合適的步長進(jìn)行繪制 例如繪制函數(shù) 在-2,2上的圖像,我們選擇步長為0.01 x=-2:0.01:2;%定義域和步長定義域和步長 y=exp(-abs(x).*sin(2*x);%函數(shù)關(guān)系,注意用的是函數(shù)關(guān)系,注意用的是.* plot(
59、x,y);%繪制圖形繪制圖形( )si n(2 )xf xex-=繪制二維圖形的plot函數(shù)v 同一坐標(biāo)內(nèi)繪制多個函數(shù)的圖象 按照圖形橫坐標(biāo)和縱坐標(biāo)的關(guān)系依次排列作為plot函數(shù)的參數(shù) 例如,要作出函數(shù) 及其微分函數(shù) 在同一坐標(biāo)軸內(nèi)的圖形,定義域為0,2 x=0:pi/100:2*pi; y1=sin(2*x)./exp(x); y2=(2*cos(2*x)./exp(x)-sin(2*x)./exp(x); plot(x,y1,x,y2);( )si n(2 )xf xex-=( )2cos(2 )si n(2 )xxdf xexexdx-=-繪制二維圖形的plot函數(shù)v 圖形的疊放 在進(jìn)行
60、一次plot操作之后,若再進(jìn)行一次plot操作,則前一次的圖形將會被覆蓋。在這種情況下,若要實現(xiàn)多個圖形的疊放,可以使用hold函數(shù)。例如首先繪制y1=sin(x)在-2, 2上的圖像,然后再繪制y2=cos(x)的圖像 x=-2*pi:pi/100:2*pi; y1=sin(x);y2=cos(x); plot(x,y1);hold on;%繪制繪制y1,并,并hold on允許圖像疊放允許圖像疊放 plot(x,y2);hold off;%在在y1上繪制上繪制y2之后取消允許圖像疊放之后取消允許圖像疊放圖形定制v 添加標(biāo)注 添加標(biāo)題標(biāo)注的命令為Title(title),其中title是顯示在圖形標(biāo)題處的字符串。 添加坐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度可再生能源并網(wǎng)合同范本
- 金華浙江金華永康市環(huán)境衛(wèi)生管理處工作人員招聘筆試歷年參考題庫附帶答案詳解
- 西安2025年陜西西安音樂學(xué)院專任教師招聘20人筆試歷年參考題庫附帶答案詳解
- 舟山2025年浙江舟山市定海區(qū)昌國街道招聘公益性崗位筆試歷年參考題庫附帶答案詳解
- 八年級上學(xué)期1月期末語文試題(PDF版無答案)-3
- 漯河2024年河南漯河西城區(qū)現(xiàn)代服務(wù)業(yè)開發(fā)區(qū)工作委員會人才引進(jìn)筆試歷年參考題庫附帶答案詳解
- 溫州浙江溫州平陽縣科學(xué)技術(shù)局招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 溫州2025年浙江溫州永嘉縣人民醫(yī)院醫(yī)共體永嘉縣婦幼保健院招聘(一)筆試歷年參考題庫附帶答案詳解
- 泉州2025年福建南安市衛(wèi)生事業(yè)單位招聘編制內(nèi)衛(wèi)生類工作人員51人筆試歷年參考題庫附帶答案詳解
- 普洱2025年云南普洱第二中學(xué)招聘編外教學(xué)人員筆試歷年參考題庫附帶答案詳解
- 2025新人教版英語七年級下單詞表(小學(xué)部分)
- 2025年春季1530安全教育記錄主題
- 川教版2024-2025學(xué)年六年級下冊信息技術(shù)全冊教案
- 2024年新疆(兵團(tuán))公務(wù)員考試《行測》真題及答案解析
- 紅色喜慶中國傳統(tǒng)元宵節(jié)英文介紹教育課件
- 《銀行融資知識》課件
- 新人教版高中數(shù)學(xué)選擇性必修第一冊全套精品課件
- 中美個人所得稅征管與稅收流失現(xiàn)狀比較
- 可填充顏色的中國地圖,世界地圖,各省市地圖填色
- 第四軍醫(yī)大學(xué)擬招收博士后研究人員意見表
- 環(huán)保機(jī)制磚項目可行性研究報告寫作范文
評論
0/150
提交評論