版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 MATLAB 運算基礎(chǔ)(1),MALAB 7.X程序設(shè)計,2/59,主要內(nèi)容:,變量的定義及賦值; 數(shù)值數(shù)組、字符串數(shù)組、元胞數(shù)組和構(gòu)架數(shù)組等數(shù)據(jù)類型; 矩陣運算的定義和規(guī)則; 數(shù)組運算的定義和規(guī)則。,2.1 概述,MALAB 7.X程序設(shè)計,4/59,1)矩陣:由mn個數(shù)組成的排成m行n列的一個矩形的數(shù)表,其中00矩陣為空矩陣()。數(shù)表中第i(1im)行第j(1jn)列的數(shù)據(jù)稱為矩陣元素 2)標量 :11的矩陣,即為只含一個數(shù)的矩陣。 3)向量:1n或n1的矩陣,即只有一行的或者一列的矩陣。只有一行的矩陣稱為行向量,只有一列的矩陣稱為列向量。數(shù)表中第i(1in)個數(shù)據(jù)稱為向量元素。
2、4)數(shù)組:矩陣的延伸,一般指多維數(shù)組,其中標量、向量和矩陣都是數(shù)組的特例。,2.1 概述,2.1.1 數(shù)據(jù)術(shù)語,MALAB 7.X程序設(shè)計,5/59,2.1.2 數(shù)據(jù)類型,數(shù)據(jù)類型包括數(shù)值型、字符串型、元胞型、構(gòu)架型等。數(shù)值型有單精度型、雙精度型和整數(shù)型。整數(shù)型有uint8,uint16,uint32和uint64等無符號型和int8,int16,int32和int64等符號型整數(shù)。 數(shù)值型數(shù)據(jù)可以用帶小數(shù)點的形式和科學(xué)計數(shù)法表示,數(shù)值的表示范圍是10-30910+309。 -20、1.25、2.88e-56(表示2.8810-56)、7.68e204(表示7.6810204) 都是合法的數(shù)據(jù)
3、表示。 一般在計算時采用雙精度型,在輸出時有多種數(shù)值顯示格式可供選擇。,MALAB 7.X程序設(shè)計,6/59,數(shù)值顯示格式的設(shè)置通過format 命令, 格式如下:,format short 默認設(shè)置,以4位小數(shù)浮點格式形式輸出 format long 以14位小數(shù)浮點格式形式輸出 format short e 以4位小數(shù)加e+000浮點格式輸出 format long e以14位小數(shù)加e+000浮點格式輸出,MALAB 7.X程序設(shè)計,7/59,format bank 以兩位小數(shù)形式輸出 format rat 以近似分數(shù)形式輸出,2.2 變量,MALAB 7.X程序設(shè)計,9/59,2.2 變
4、量,變量的命名規(guī)則為: 1 變量名必須以字母開頭,變量名的組成可以是任意字母、數(shù)字或者下劃線,但不能含有空格和標點符號。 2 關(guān)鍵字和函數(shù)名不能作為變量名。 3 變量名不能超過63個字符。 4 變量名區(qū)分字母的大小寫,即大小寫敏感。 。,2.2.1變量的命名,MALAB 7.X程序設(shè)計,10/59,2.2.2變量的賦值,變量的賦值通常有兩種形式: 1 變量=表達式 2 表達式 其中表達式是用運算符將有關(guān)運算量連接起來的式子,其結(jié)果是一個數(shù)組。 形式1中,= 代表的是賦值操作,將表達式的值賦給MATLAB的變量;形式2中,將表達式的值賦給MATLAB的臨時變量ans。,MALAB 7.X程序設(shè)計
5、,11/59,例2-1 在命令窗口輸入下述語句,并按回車鍵執(zhí)行,分別給變量a、b、c賦值:,a=1% a為標量 b=0 1 % b為行向量 c=1 2;3 4;5 6 % c為矩陣即二維數(shù)組,MALAB 7.X程序設(shè)計,12/59,2.2.3 特殊變量,系統(tǒng)本身定義的變量。在使用時應(yīng)盡量避免對這些變量重新賦值。 ans,默認變量名 i,j, 虛數(shù)單位 inf , 正無窮大 nan,非數(shù) Pi 圓周率 Nargin 函數(shù)輸入?yún)?shù)個數(shù) Nargout 函數(shù)輸出參數(shù)個數(shù),2.3 內(nèi)存變量的存取,MALAB 7.X程序設(shè)計,14/59,save函數(shù)是將Matlab工作空間中的變量存入磁盤。 常見格式如
6、下: save 將當前空間中的所有變量以二進制格式存入名為matlab.mat(默認的文件名)的文件中。 save dfile (save 路徑+dfile) 將當前空間中的所有變量以二進制格式存入當前路徑下名為dfile.mat的文件中。 save dfile a b 只把變量a和b以二進制格式存入dfile.mat文件。a 和b間用空格隔開,MALAB 7.X程序設(shè)計,15/59,save dfile.dat a ascii 將變量a以8位ASCII碼的形式存入dfile.dat文件 save(fname,a,-ascii) fname是一個預(yù)先定義好的包含文件名的字符串,該用法將變量a以
7、ASCII碼格式存入由fname定義的文件中。由于在這種用法中,文件名是一個字符變量,因此可以方便地通過編程的方法存儲一系列數(shù)據(jù)文件,MALAB 7.X程序設(shè)計,16/59,load函數(shù)(將磁盤上的數(shù)據(jù)讀入工作空間) 具體格式如下 load 把磁盤文件matlab.mat的內(nèi)容讀入內(nèi)存 load dfile 把磁盤文件 dfile.mat的內(nèi)容讀入內(nèi)存 x=load(fname) fname是一個預(yù)先定義好的包含文件名的字符串,將由fname定義文件名的數(shù)據(jù)文件讀入變量x中。,2.4 數(shù)組,MALAB 7.X程序設(shè)計,18/59,2.4.1數(shù)值數(shù)組的建立,1 賦值語句建立數(shù)組 矩陣的建立可以通
8、過賦值語句實現(xiàn),賦值符號左邊為變量名,右邊為矩陣元素。矩陣元素應(yīng)用方括號()括住,元素可以是數(shù)值或表達式元素,表達式可以由數(shù)字、變量、運算符和函數(shù)等組成。 矩陣同行內(nèi)的元素間用逗號或空格隔開,行與行之間用分號或回車鍵隔開。,MALAB 7.X程序設(shè)計,19/59,例2-4 在命令窗口輸入語句: a=1,2,3;4,5,6;7,8,9,按回車鍵,命令就被執(zhí)行,在MATLAB命令窗中顯示以下結(jié)果:,a = 1 2 3 4 5 6 7 8 9,如果在上述輸入語句末尾加上分號,則在命令窗口不顯示結(jié)果。同理可以通過賦值語句建立向量。,MALAB 7.X程序設(shè)計,20/59,例2-5 在命令窗口輸入語句:
9、 x=-1.3 1+2+3 sqrt(5),%sqrt是求平方根函數(shù),按回車鍵,指令被執(zhí)行,MATLAB命令窗中顯示以下結(jié)果:,x = -1.3000 6.0000 2.2361,MALAB 7.X程序設(shè)計,21/59,例2-6 在命令窗口輸入下述語句,建立復(fù)數(shù)數(shù)組: b=1+2*i,2+3*i;2-i,3-2*i,執(zhí)行結(jié)果為:,b = 1.0000 + 2.0000i 2.0000 + 3.0000i 2.0000 - 1.0000i 3.0000 - 2.0000i,MALAB 7.X程序設(shè)計,22/59,elfun函數(shù)庫中提供一系列復(fù)數(shù)函數(shù):,real 復(fù)數(shù)的實數(shù)部分 real(b) i
10、mag 復(fù)數(shù)的虛數(shù)部分 imag(b) abs 絕對值或模 abs(b) angle 幅角 angle(b) 結(jié)果為弧度 angle(b)*180/pi 結(jié)果為角度 conj 共軛 conj(b),MALAB 7.X程序設(shè)計,23/59,2 簡捷表達式,等間隔向量賦值可以通過簡捷表達式實現(xiàn)。下面介紹兩種為等間隔向量賦值的方法:,1)兩個冒號組成等增量語句 格式:t =初值:增量:終值 說明: 初值、增量和終值分別表示開始值、步長和結(jié)束值。當增量可為負值,省略時則默認為增量為1;當增量省略或增量0而初值0時為空向量,當增量0而初值終值時也為空向量。,MALAB 7.X程序設(shè)計,24/59,例2-
11、7 簡捷表達式建立向量和矩陣,t1=0:0.02:1 %產(chǎn)生0t11之間的行向量, 間隔為0.02,t2=5:-1:2 %產(chǎn)生5t12之間的行向量, 間隔為-1。,t4=2:-1:3 % 建立空矩陣,t5=1:2:5;1:3:7 %建立矩陣,MALAB 7.X程序設(shè)計,25/59,2)使用linspace和logspace函數(shù)生成向量,linspace函數(shù)的格式:,linspace(a,b,n) 功能:生成從a到b之間線性分布的n個元素的行向量。linspace(a,b,n)與a:(b-a)/(n-1):b等價。,logspace (a,b,n) 功能:生成從10a到10b之間按對數(shù)等分的n個
12、元素的行向量。,logspace函數(shù)的格式:,MALAB 7.X程序設(shè)計,26/59,例 2-8 用linspace和logspace函數(shù)生成向量,t1=linspace(0,2*pi,5)%從0到2*pi等分 成5個點 linspace(1,8,8) linspace(1,8,1) t2=logspace(0,2,3)%從1到100(即 100到102)按對數(shù)等分成3個點,MALAB 7.X程序設(shè)計,27/59,3 內(nèi)建函數(shù)1) 通用特殊矩陣,利用內(nèi)部語句和函數(shù)可以快速產(chǎn)生一些有用的矩陣, 空矩陣 eye 單位矩陣函數(shù)(只有主對角線上元素為1,其他元素為0) ones 全為1的常數(shù)矩陣(所有
13、元素都為1) rand 01 之間均勻分布的隨機矩陣(隨機產(chǎn)生) randn 元素服從從零均值單位方差正態(tài)分布的 隨機矩陣 zeros 零矩陣(所有元素都為0 ) 注意:以上函數(shù)有一個參數(shù)的時候是方陣,MALAB 7.X程序設(shè)計,28/59,2)用于專門學(xué)科的特殊矩陣,(1)魔方矩陣 magic(n)(n=3) 功能:魔方矩陣的元素由1到nn 的自然數(shù)組成,其對角線上的元素為1;每行、每列及對角線上的元素之和均等于(n3+n)/2。魔方矩陣的每行、每列及兩條對角線上的元素和都相等。對于n階魔方陣,其元素由1,2,3,n2共n2個整數(shù)組成。,MALAB 7.X程序設(shè)計,29/59,例2-9 產(chǎn)生
14、3階魔方陣。,m=magic(3) %產(chǎn)生3階魔方陣,MALAB 7.X程序設(shè)計,30/59,(2) 范得蒙矩陣 vander(V),生成以向量V為基礎(chǔ)向量的范得蒙矩陣,矩陣元素最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積。可以用一個指定向量生成一個范得蒙矩陣。,MALAB 7.X程序設(shè)計,31/59,例2-10 產(chǎn)生范得蒙矩陣。,v1=vander(1;2;3;5) v2=vander(1:3) v3=vander(1:4),MALAB 7.X程序設(shè)計,32/59,4 通過MAT數(shù)據(jù)文件加載矩陣,通過load命令或選擇菜單FileImport Data命令
15、加載MAT數(shù)據(jù)文件來創(chuàng)建矩陣。,5 在M文件中創(chuàng)建矩陣,M文件實際上是一種包含MATLAB代碼的文本文件;通過在MATLAB命令窗口中運行M文件創(chuàng)建矩陣。,MALAB 7.X程序設(shè)計,33/59,2.4.2數(shù)組(矩陣或向量)元素的標識,1 向量的標識 向量是由多個元素組成的,每個元素通過序號來標識。,例2-16 演示向量的標志和重新賦值。 x=1:2:7; y=x; y3=y(3) %引用y的第三個元素5 y5=y(end) %用end函數(shù)引用y的最后 一個元素7 y(3)=10 %對y的第三個元素重新賦值,MALAB 7.X程序設(shè)計,34/59,2矩陣的標識,兩種標識方式: 全下標方式和單下
16、標方式。,1) 全下標方式 全下標方式標識是指出行下標和列下標的方法標識,如一個mn的矩陣a的第i(1im)行第j(1jn)列的元素可表示為a(i,j)。,MALAB 7.X程序設(shè)計,35/59,例2-17 演示矩陣元素的標識和擴充矩陣的 方法,a=1 2;3 4;5 6; %建立一個23的矩陣 a12=a(1,2) %引用a(1,2)的值 a(3,3) %引用a(3,3)的值,(3,3) 超出矩陣的大小,出錯 a(3,3)=9 %擴充23的矩陣為33的 矩陣,并給a(3,3)賦值,a(3,1),a(3,2)自動賦值為0 a = 1 2 0 3 4 0 5 6 9 注意:如果用戶給出的下標值超
17、出了原來的行數(shù)或列數(shù),將自動擴展原來的矩陣,并將擴展未賦值的矩陣元素置為零。,MALAB 7.X程序設(shè)計,36/59,2) 單下標方式(按照列優(yōu)先存儲),以mn矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。 根據(jù)全下標換算出單下標的函數(shù)sub2ind格式: IND=sub2ind(siz,I,J) 功能:IND為返回的對應(yīng)的單下標,siz為以矩陣行數(shù)和列數(shù)構(gòu)成的兩個元素的向量,I和J分別為矩陣的某一行號和列號。,根據(jù)單下標換算出全下標的函數(shù)ind2sub格式: I,J=ind2sub(siz,IND) 功能:I和J分別為返回的矩陣的某一行號和列號,siz為以矩陣行數(shù)和列數(shù)構(gòu)成的兩
18、個元素的向量,IND為單下標。,MALAB 7.X程序設(shè)計,37/59,例:,A=1 1 4 2 3 0 8 7 2 A(3,2)=7 A(6)=7,MALAB 7.X程序設(shè)計,38/59,例2-18 演示矩陣元素的全下標標識和單下標標識的轉(zhuǎn)換。,i,j=ind2sub(3 3,5) % 33矩陣的第5個元素的全下標,ind=sub2ind(3 3,3,3) % 33矩陣第三行、第三列元素的序號,MALAB 7.X程序設(shè)計,39/59,2.4.3 子數(shù)組,子數(shù)組是從數(shù)組中取出一部分元素所構(gòu)成的數(shù)組,通常可用全下標和單下標方式取子數(shù)組。,1 向量的一般情況如下: A(i) 數(shù)組A的第i個元素 A
19、(i:L:i+m) 數(shù)組A的第i個-第i+m個(下標增量為L)元素,MALAB 7.X程序設(shè)計,40/59,2 矩陣一般情況如下:,A(:,j) 數(shù)組A的第j列全部元素 A(i,:) 數(shù)組A的第i行全部元素 A(i,j) 數(shù)組A的第i行第j列的元素 A(:,j:L:j+n) 數(shù)組A的第j列-第j+n列(下 標增量為L)全部元素 A(i:k:i+m,:) 數(shù)組A的第i行-第i+m行(下標 增量為k)元素 A(i:k:i+m,j:L:j+n) 數(shù)組A的第i行-第i+m 行(下標增量為k)并在第j列 -第j+n列(下標增量為L)全 部元素,MALAB 7.X程序設(shè)計,41/59,例2-19 演示建立
20、行向量并取子數(shù)組的方法。,a1=1.1,-2.2,3.3,-4.4,5.5; a1(3) % 取a1的第三個元素 a1(1 4) % 取a1的第一個和第四個元素 a1(1:2:5) % 取a1的第一個、第三個和第五 個元素,等價語句為: a1(1:2:end),MALAB 7.X程序設(shè)計,42/59,例2-20 演示建立34的矩陣并取子數(shù)組的方法。,a=1 2 3 4;5 6 7 8;9 10 11 12; a(1,:) a(:,end) a24=a(2,4) % 取a的第二行、第四列的元素 a(1:2:4,:) a(:,1:2:end) a1=a(1,2,2,3,4) a2=a(1,2,2,
21、3,1) a3=a(3,1,:) a(1,3,2,4)=zeros(2) %對a(1,3,2,4)賦值,MALAB 7.X程序設(shè)計,43/59,2.4.4數(shù)組元素的刪除,數(shù)組元素的刪除是簡單地通過賦值為空(用表示)實現(xiàn)的。 通過賦值為空,可以實現(xiàn)刪除一行元素、一列元素、子數(shù)組和整個數(shù)組。 注意區(qū)分空矩陣和零矩陣: 空矩陣是00的數(shù)組,而零矩陣是元素為零的mn的數(shù)組。,MALAB 7.X程序設(shè)計,44/59,例2-23 建立33的數(shù)組,實現(xiàn)數(shù)組元素的 刪除。,a=1 2 0;3 4 0;5 6 9; a(:,3)= %刪除第三列元素 a(2,:)= %刪除第二行元素 a(1)= %刪除一個元素,
22、則矩陣變?yōu)樾邢蛄?a= %刪除所有元素為空矩陣,MALAB 7.X程序設(shè)計,45/59,2 多維數(shù)組的信息,函數(shù)ndims的功能是直接給出數(shù)組的維數(shù),格式為: ndims(p)其中,p為數(shù)組。,函數(shù)size的功能是給出數(shù)組各維的大小,格式為: m,n,=size(p) %得出各維的大小 m=size(p,x)%得出某一維的大小 其中,p為多維數(shù)組;m為行數(shù),n為列數(shù);當只有一個輸出變量時, x=1返回第一維(行數(shù)),x=2返回第二維(列數(shù)),以此類推。,numel的功能是給出數(shù)組的體積(元素的數(shù)目),格式為: n = numel( p ) 其中,p為數(shù)組。,MALAB 7.X程序設(shè)計,46/5
23、9,例2-27 演示ndims,size和 numel函數(shù)的 功能。,y=zeros(3,5); % 建立任意的35的數(shù)組y 1.d=size(y) d=3 5 2.m n=size(y) m=3,n=5 3.ndims(y) ans=2 4.numel(y) ans=15 5.mm=size(y,1) mm=3 6.nn=size(y,2) nn=5,2.5 細胞數(shù)組和結(jié)構(gòu)數(shù)組,MALAB 7.X程序設(shè)計,48/59,2.5.1細胞數(shù)組(cell),細胞數(shù)組是以單元為元素的數(shù)組,每個元素稱為單元,每個單元可以包含其他類型數(shù)組(實數(shù)、字符、復(fù)數(shù)) 細胞數(shù)組的創(chuàng)建: ,MALAB 7.X程序設(shè)計
24、,49/59,例 建立2*2細胞數(shù)組,A(1,1)=200 A(1,2)=abc A(2,1)=1 2;3,4 A(2,2)=0 A = 200 abc 2x2 double 0,MALAB 7.X程序設(shè)計,50/59,B=1,abc;1 100,f B = 1 abc 1x2 double f 取出100操作:B2,1(1,2),MALAB 7.X程序設(shè)計,51/59,2.5.2 結(jié)構(gòu)數(shù)組,結(jié)構(gòu)數(shù)組是根據(jù)屬性名組織起來的不同類型數(shù)據(jù)的集合。結(jié)構(gòu)的任何一個屬性 可以包含不同數(shù)據(jù)類型,(字符,矩陣等) 結(jié)構(gòu)數(shù)組的建立: struct函數(shù): 建立空的結(jié)構(gòu)數(shù)組 struct(field1, fiel
25、d2,) 建立具有屬性名和數(shù)據(jù)的結(jié)構(gòu)數(shù)組 struct(field1,values1, field2,values2,),MALAB 7.X程序設(shè)計,52/59,例:建立一個學(xué)生結(jié)構(gòu)數(shù)組,student=struct(name,張三;李四,age,19;20) student = 2x1 struct array with fields: name age,MALAB 7.X程序設(shè)計,53/59,數(shù)組元素的引入 例如取得李四的年齡: student(2,1).age,2.6 矩陣操作,MALAB 7.X程序設(shè)計,55/59,矩陣的合并,C=A;B A和B的列數(shù)必須相同,B補在A的下面 C=A,
26、B A和B的行數(shù)必須相同,B補在A的右面 矩陣轉(zhuǎn)置 A=B 矩陣展開 C=A(:) 把內(nèi)存中實際存放形式展開,按列存放的格式,MALAB 7.X程序設(shè)計,56/59,矩陣行列式 矩陣與行列式是兩個完全不同的概念.矩陣僅僅是一個矩形的“數(shù)表”,行列式是在一個方形數(shù)表中根據(jù)定義規(guī)則進行運算的代數(shù)式,這是基本的區(qū)別. 逆矩陣 對于n階方陣A,如果有一個n階方陣B, 使得 AB=BA=E。等價于 AA1=A1A=E. (E為單位陣eye(n)主對角線元素為1,其余元素為0) 則稱矩陣A是可逆的,并把方陣B稱為A的 逆陣(inverse matrix)。 A是可逆矩陣的充分必要條件是|A| 0,MALA
27、B 7.X程序設(shè)計,57/59,從已知矩陣生成新的矩陣 diag(A) 生成有A對角線元素組成的列向量 diag(A,k) k=0 為主對角線 k0 為主對角線以下第k條對角線 diag(X) 生成以向量X為主對角線,其余元素為零的矩陣 diag(X,K)生成以向量X為第k條對角線元素,其他元素為零的 X 的長度+|K| 階方陣,MALAB 7.X程序設(shè)計,58/59,triu(A)生成一個主對角線及以上元素是A的元素,其余元素為0的上三角矩陣 triu(A,K)生成一個第K條對角線及以上元素是A的元素,其余元素為0的上三角矩陣 tril(A)生成一個主對角線及以下元素是A的元素,其余元素為0
28、的下三角矩陣 tril(A,K)生成一個第K條對角線及下上元素是A的元素,其余元素為O的下三角矩陣 blkdiag(a,b,c)以a,b,c為主對角線,其余元素都為零的方陣,2.7 矩陣運算,MALAB 7.X程序設(shè)計,60/59,2.7.1算術(shù)運算1基本算術(shù)運算 MATLAB的基本算術(shù)運算有:(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術(shù)運算只是一種特例。,MALAB 7.X程序設(shè)計,61/59,矩陣的基本運算,(1)矩陣的基本運算 A 實數(shù)矩陣的轉(zhuǎn)置,若A復(fù)數(shù)計算的A的共軛矩陣(每個元素取共軛,再轉(zhuǎn)置) A . 復(fù)數(shù)的共軛 rot9
29、0(A,k)將矩陣A 逆時針旋轉(zhuǎn)90的k倍,當k為1時可省略。 fliplr(A)對矩陣實施左右翻轉(zhuǎn)180 flipud(A)對矩陣A實施上下翻轉(zhuǎn)180 flipdim(A,dim) dim=1 = flipud(A) dim=2 = fliplr ( A),MALAB 7.X程序設(shè)計,62/59,repmat(A,m,n) 將A作為一個子矩陣,復(fù)制一個m*n的矩陣,MALAB 7.X程序設(shè)計,63/59,(2) 矩陣加減運算,運算規(guī)則是: a.若A和B矩陣的維數(shù)相同, A+B,A-B實現(xiàn)矩陣的加減運算,是矩陣的相應(yīng)元素相加減。 b.A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩
30、個矩陣的維數(shù)不匹配。,MALAB 7.X程序設(shè)計,64/59,矩陣的乘法運算 正常乘法 A*B 假定有兩個矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B為mp矩陣。 數(shù)乘 a*A a為標量 ,A為矩陣 ,用a乘以A的每一個元素 點乘 A.*B 要求兩矩陣維數(shù)必須相同,為對應(yīng)元素相乘 標量積 dot(A,B) A.*B后,各各列元素相加,得到一個行向量 dot(A,B,dim) A.*B后,dim=1 各列元素相加,得到一個行向量 dim=2各行元素相加,得到一個列向量,(3) 向量和矩陣乘法,MALAB 7.X程序設(shè)計,65/59,(4) 矩陣除法 在MATLAB中,有兩種矩陣除法運算
31、:和/,分別表示左除和右除。 如果A矩陣是非奇異方陣,則AB和B/A運算可以實現(xiàn)。一般ABB/A。 AB=inv(A)*B A為n*n方陣,B為 n*1列向量,求解X為n*1列向量 B/A=B*inv(A) A為n*n方陣,B為 1*n列向量,求解X為1*n行向量,MALAB 7.X程序設(shè)計,66/59,元素左除 . 計算兩矩陣的元素左除矩陣 A.B是指B的各元素除以A的對應(yīng)元素 元素右除 ./ A./B是指A的各元素除以B的對應(yīng)元素 此時要求兩矩陣維數(shù)相同 注:方陣A的逆矩陣 A-1=inv(A) P124 例題 30 31,MALAB 7.X程序設(shè)計,67/59,(5) 矩陣的乘方矩陣的乘
32、方 Ab 一個矩陣的乘方運算可以表示成Ax,要求A為方陣,x為標量。 矩陣元素的乘方 A.b 2,4.3 ans = 8 64 數(shù)的矩陣元素乘方 b.A 3.2,4 ans = 9 81,MALAB 7.X程序設(shè)計,68/59,(6)矩陣行列式、秩,跡,行列式: det(A) A為方陣 秩:矩陣的秩是方陣經(jīng)過初等行變換或者列變換后的行秩或列秩 ,不為零的行數(shù)或列數(shù) rank(A) 跡:主對角線元素之和成為矩陣的跡 trace(A),MALAB 7.X程序設(shè)計,69/59,2.7.2 關(guān)系運算,MATLAB提供了6種關(guān)系運算符: (大于) =(大于或等于) =(等于) =(不等于)。,MALAB
33、 7.X程序設(shè)計,70/59,關(guān)系運算符的運算法則為: a. 兩個比較量是標量時:直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達式結(jié)果為1,否則為0。 b. 兩個維數(shù)相同的矩陣時:比較是對兩矩陣相同位置的元素按標量關(guān)系運算規(guī)則逐個進行,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。 c. 一個是標量,一個是矩陣時:則把標量與矩陣的每一個元素按標量關(guān)系運算規(guī)則逐個比較,并給出元素比較結(jié)果。最終的關(guān)系運算的結(jié)果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。,MALAB 7.X程序設(shè)計,71/59,示例 (1)23 ans=0 (2)21 2;3 4 a
34、ns = 1 0 0 0 (3)0 2;4 71 2;3 4 ans = 1 0 0 0,MALAB 7.X程序設(shè)計,72/59,2.7.3 邏輯運算,MATLAB提供了3種邏輯運算符:3,4 B=4,2;0,5 C=0 A1,1,MALAB 7.X程序設(shè)計,74/59,(5) 邏輯非是單目運算符,也服從矩陣運算規(guī)則。(6) 在算術(shù)、關(guān)系、邏輯運算中,算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。,MALAB 7.X程序設(shè)計,75/59,例 建立矩陣A,然后找出大于4的元素的位置。(1) 建立矩陣A。A=4,-65,-54,0,6;56,0,67,-45,0(2) 找出大于4的元素的位置。find(
35、A4) 顯示的是 大于4的元素的單下標值 disp(A4) 滿足條件的 用1表示,不滿足條件的用0,MALAB 7.X程序設(shè)計,76/59,其他邏輯運算符,xor(x,y) 異或運算,x和y都是零或都是非零時為假0,不同時為真1 any(x) 如果在一個向量中,任一元素是非零,返回1;矩陣x中的每一列有非零元素,返回1,否則返回零 all(x) 如果在一個向量中,所有元素非零,返回1 ;矩陣x中的每一列所有元素非零,返回1,否則返回零,MALAB 7.X程序設(shè)計,77/59, A=1 2;3 4 B=0 1;0 7 xor(A,B) ans = 1 0 1 0 any(A) ans=1,1 a
36、ny(B) ans=0, 1 all(A) ans=1 1 all(B) ans=0,1,2.8矩陣的特征值和特征向量,MALAB 7.X程序設(shè)計,79/59,矩陣的特征值和特征向量,概念: 特征值:這設(shè)矩陣A是一個n階方陣,如果存在數(shù)a和一個非零列向量X,使得AX=aX,則數(shù)a稱為A的特征值 特征向量:向量X稱為A對應(yīng)于特征值a的特征向量 特征值向量:n階方陣A的n個特征值組成的向量,MALAB 7.X程序設(shè)計,80/59,eig(A)計算n階方陣A的特征值向量 X,D=eig(A) X的列對應(yīng)A的特征向量 D的對角線元素是A的特征值,MALAB 7.X程序設(shè)計,81/59,A=1 2; 3
37、 4 eig(A) ans= -0.3723 5.3723 X,D=eig(A) X = -0.8246 -0.4160 0.5658 -0.9094 D = -0.3723 0 0 5.3723,2.9矩陣的分解,MALAB 7.X程序設(shè)計,83/59,矩陣的分解,又稱為矩陣的因式分解,就是把一個復(fù)雜的矩陣分解成兩個或兩個以上特殊矩陣或簡單矩陣的乘積。 (1)LU分解(三角分解),把一個方陣A分解為同階的一個下上角L和上三角U,即A=L*U (2)Cholesky分解是一個對稱的正定方陣A分解為上三角矩陣與其轉(zhuǎn)置矩陣的乘積, 即A=L*L L為上三角矩陣 注:正定矩陣特征值都為正數(shù),MALA
38、B 7.X程序設(shè)計,84/59,L,U=lu(A) 例:50 L=chol(A) 例51,2.10 多項式運算,MALAB 7.X程序設(shè)計,86/59,多項式運算,1 、多項式的表示和輸入 多項式用一個向量表示,按照多項式系數(shù)的降冪排列分配個各項,沒有的系數(shù)補零。 例:x5-3x4+2x+10 p=1 ,-3 ,0, 0 ,2 ,10,MALAB 7.X程序設(shè)計,87/59,矩陣的特征多項式: |aE-A|為矩陣A的特征多項式 P=poly(A)求A特征多項式的系數(shù) poly2sym(P)具體顯示A的特征多項式表達式 p168 例1,2,3,MALAB 7.X程序設(shè)計,88/59,例:用直接輸
39、入向量的方法輸入多項式 x5-5x3+7x2-14x+47 P=1 0 -5 7 -14 47 poly2sym(P) ans = x5-5*x3+7*x2-14*x+47 %把向量表示的特征多項式轉(zhuǎn)成符號表達形式,MALAB 7.X程序設(shè)計,89/59,2.多項式的值和根 polyval(p,x)計算多項式p的值(p為多項式的系數(shù)向量) 在x處的值,x為標量,一個值, x為向量或矩陣時,既是求多項式在 每個x處的值 roots(p)計算多項式p (p為多項式的系數(shù)向量)的根,即 p(x)=0的解,MALAB 7.X程序設(shè)計,90/59,例 已知一個多項式的系數(shù)向量P, P=1 -3 0 4
40、-8,求多項式的符號表達式,多項式在x=-3時的值,在1 2 3 0 4時的值。 P=1 -3 0 4 -8; poly2sym(P) %多項式的符號表達式 ans = x4-3*x3+4*x-8 polyval(P,-3) %多項式在x=-3時的值, ans = 142 x=1 2 3 0 4; polyval(P,x) %多項式在1 2 3 0 4時的值 ans = -6 -8 4 -8 72,MALAB 7.X程序設(shè)計,91/59,例 求多項式x5-5x3+7x2-14x+47=0的根 P=1 0 -5 7 -14 47; roots(P) ans = -3.1730 1.9425 +
41、0.9338i 1.9425 - 0.9338i -0.3560 + 1.7498i -0.3560 - 1.7498i,2.11 插值和擬合,MALAB 7.X程序設(shè)計,93/59,插值和擬合,1. 數(shù)值插值: 在實際應(yīng)用中,得到的是離散的數(shù)據(jù),怎樣利用已經(jīng)得到的離散數(shù)據(jù)來近似的得到某些未知點的值,這就是數(shù)值插值問題。 一維插值函數(shù) interp1 格式:Z1=interp1(X,Y,X1,參數(shù)) 說明:X是向量,表示采樣點,Y是采樣點上的樣本值,與X等長;X1表示欲插值的點,Z1是與X1等長的插值結(jié)果。 參數(shù)的選擇為5類: 最近點插值nearest、 線性插值linear、 樣條插值spline、 立方插值cubic、 雙立方插值法bicubic,MALAB 7.X程序設(shè)計,94/59,例用不同的插值方法計算sin(x)在x=pi/4的值 X=0:0.01:pi/2 Y=sin(X) interp1(X,Y,pi/4) ans=0.7067,MALAB 7.X程序設(shè)計,95/59,例,已知某工廠一天的 9:00 10:00 11:00 12:00 13:00分別測得的鍋爐溫度為301 3
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)心理學(xué)(心理輔導(dǎo))試題及答案
- 2026年計算機編程(Python高級編程)試題及答案
- 2026年營銷策劃(營銷渠道設(shè)計)試題及答案
- 2025年高職第一學(xué)年(軟件技術(shù))Java編程綜合試題及答案
- 2026年網(wǎng)絡(luò)技術(shù)綜合(多協(xié)議應(yīng)用)試題及答案
- 2025年高職播音與主持藝術(shù)(節(jié)目主持技巧)試題及答案
- 2025年大學(xué)法醫(yī)學(xué)(法醫(yī)毒物分析)試題及答案
- 巴松介紹教學(xué)課件
- 2026年江漢區(qū)金融類國企招聘工作人員備考題庫及一套答案詳解
- 威寧介紹教學(xué)
- ERCP治療膽總管結(jié)石的護理
- 2025年國際政治格局:多極化與地緣政治風(fēng)險
- 有害物質(zhì)管控標準
- T-CSUS 69-2024 智慧水務(wù)技術(shù)標準
- 國家開放大學(xué)法學(xué)本科《商法》歷年期末考試試題及答案題庫
- UL583標準中文版-2018電動工業(yè)車輛UL中文版標準
- 2024年新華東師大版七年級上冊數(shù)學(xué)全冊教案(新版教材)
- 冀人版五年級科學(xué)上冊期末測試卷4份(含答案)
- 菜肴造型與盛裝工藝
- 甲狀腺癌醫(yī)學(xué)知識講座
- ABAQUS在隧道及地下工程中的應(yīng)用
評論
0/150
提交評論