MATLAB矩陣及其運(yùn)算2課件_第1頁(yè)
MATLAB矩陣及其運(yùn)算2課件_第2頁(yè)
MATLAB矩陣及其運(yùn)算2課件_第3頁(yè)
MATLAB矩陣及其運(yùn)算2課件_第4頁(yè)
MATLAB矩陣及其運(yùn)算2課件_第5頁(yè)
已閱讀5頁(yè),還剩179頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

23:3112.1變量和數(shù)據(jù)操作2.1.1變量與賦值

1.變量命名變量名中不能包含空格、標(biāo)點(diǎn)、但可以包含下劃線等字符。無(wú)需對(duì)變量的類型進(jìn)行說(shuō)明。變量名、函數(shù)名是對(duì)字母大小寫敏感的。變量的第一個(gè)字符必須是英文字母,最多可以包含63個(gè)字符(英文、數(shù)字和下連字符)。18:1112.1變量和數(shù)據(jù)操作2.1.1變量與賦值23:3122.賦值語(yǔ)句

(1)變量=表達(dá)式

(2)表達(dá)式

其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。18:1122.賦值語(yǔ)句

(1)變量=表達(dá)式

(2)23:313例2-1計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。

在MATLAB命令窗口輸入命令:

x=1+2i;

y=3-sqrt(17);

z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))

其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率π和虛數(shù)單位。

輸出結(jié)果是:

z=

-0.3488+0.3286i18:113例2-1計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。

在23:3142.1.2預(yù)定義變量在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。例如,用pi表示圓周率π的近似值,用i,j表示虛數(shù)單位。

預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。18:1142.1.2預(yù)定義變量在MATLAB工23:3152.1.3內(nèi)存變量的管理

1.內(nèi)存變量的刪除與修改

MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊Open按鈕,將進(jìn)入變量編輯器。通過(guò)變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。18:1152.1.3內(nèi)存變量的管理

1.內(nèi)存變量的刪除23:31618:11623:317clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。18:117clear命令用于刪除MATLAB工作空間中的變23:3182.內(nèi)存變量文件

利用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來(lái),擴(kuò)展名是.mat。MAT文件的生成和裝入可以由菜單命令完成File—SaveWorkspaceAs用OPEN打開該文件也可以由save和load命令來(lái)完成。常用格式為:

save文件名[變量名表][-append][-ascii]

load文件名[變量名表][-ascii]18:1182.內(nèi)存變量文件

利用MAT文件可以把當(dāng)前MAT23:319其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,命令隱含一定對(duì).mat文件進(jìn)行操作。變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝入全部變量。-ascii選項(xiàng)使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。save命令中的-append選項(xiàng)控制將變量追加到MAT文件中。18:119其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,23:31102.1.4MATLAB常用數(shù)學(xué)函數(shù)

MATLAB提供了許多數(shù)學(xué)函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。

函數(shù)使用說(shuō)明:

(1)三角函數(shù)以弧度為單位計(jì)算。

(2)abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。

(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。

(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。18:11102.1.4MATLAB常用數(shù)學(xué)函數(shù)

MAT23:3111MATLAB常用數(shù)學(xué)函數(shù)sinatanacoshlog2realfixgcdcossinhatanhexpimagefloorlcmtancoshsqrtpow2conjceilasintanhlogabsremroundacosasinhlog10anglemodsign18:1111MATLAB常用數(shù)學(xué)函數(shù)sinatanacos23:31122.1.5數(shù)據(jù)的輸出格式

MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。

在一般情況下,MATLAB內(nèi)部每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)來(lái)表示和存儲(chǔ)的。數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為:

format格式符

其中格式符決定數(shù)據(jù)的輸出格式18:11122.1.5數(shù)據(jù)的輸出格式

MATL23:3113格式符如下:short47long15shorte5longe15shortglongghexrat近似有理數(shù)表示+正數(shù)、負(fù)數(shù)、零分別用+、-、空格表示bank銀行格式,元、角、分表示compact輸出變量之間沒(méi)空行l(wèi)oose輸出變量之間有空行默認(rèn)格式是short18:1113格式符如下:23:31142.2MATLAB矩陣2.2.1矩陣的建立

1.直接輸入法

最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。18:11142.2MATLAB矩陣2.2.1矩陣的23:31152.利用M文件建立矩陣

對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。下面通過(guò)一個(gè)簡(jiǎn)單例子來(lái)說(shuō)明如何利用M文件創(chuàng)建矩陣。18:11152.利用M文件建立矩陣

對(duì)于比較大且比23:3116例2-2利用M文件建立MYMAT矩陣。

(1)啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣:

(2)把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。

(3)在MATLAB命令窗口中輸入mymatrix,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT的矩陣,可供以后使用。18:1116例2-2利用M文件建立MYMAT矩23:31173.利用冒號(hào)表達(dá)式建立一個(gè)向量

冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式是:

e1:e2:e3

其中e1為初始值,e2為步長(zhǎng),e3為終止值。18:11173.利用冒號(hào)表達(dá)式建立一個(gè)向量

冒號(hào)表23:31184.建立大矩陣

大矩陣可由方括號(hào)中的小矩陣或向量建立起來(lái)。18:11184.建立大矩陣

大矩陣可由方括號(hào)中的小矩陣或向23:3119linspace命令語(yǔ)法:linspace(start,end,num)數(shù)組初值數(shù)組終值平均分割點(diǎn)數(shù)5、Linspace和logspace命令法顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。18:1119linspace命令語(yǔ)法:linspace(s23:3120logspace命令語(yǔ)法:logspace(e1,e2,num)數(shù)組初值數(shù)組終值對(duì)數(shù)平均分割點(diǎn)數(shù)18:1120logspace命令語(yǔ)法:logspace(23:3121多維矩陣MATLAB支持多維行列頁(yè)建立多位矩陣的方法:對(duì)二維進(jìn)行擴(kuò)充對(duì)若干個(gè)同樣大小的二維矩陣進(jìn)行組合前面介紹的建立矩陣的函數(shù),eye除外用cat函數(shù)18:1121多維矩陣MATLAB支持多維行列頁(yè)建立23:3122對(duì)二維進(jìn)行擴(kuò)充18:1122對(duì)二維進(jìn)行擴(kuò)充23:3123對(duì)若干個(gè)同樣大小

的二維矩陣進(jìn)行組合18:1123對(duì)若干個(gè)同樣大小

的二維矩陣進(jìn)行組合23:3124前面介紹的建立矩陣的函數(shù),eye除外18:1124前面介紹的建立矩陣的函數(shù),eye除外23:3125用cat函數(shù)Cat(n,a1,a2,a3….)將大小相同的矩陣沿n維方向串接則可能成為高維矩陣n=1沿行方向擴(kuò)展n=2沿列方向擴(kuò)展n=3沿頁(yè)方向擴(kuò)展18:1125用cat函數(shù)Cat(n,a1,a2,a3….)23:31262.2.2矩陣的拆分

1.矩陣元素

通過(guò)下標(biāo)引用矩陣的元素,例如

A(3,2)=200

采用矩陣元素的序號(hào)來(lái)引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如

A=[1,2,3;4,5,6];

A(3)

ans=

2

顯然,序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。sub2ind(size(A),1,2)[i,j]=ind2sub(size(A),3)18:11262.2.2矩陣的拆分

1.矩陣元素

23:3127相關(guān)函數(shù)size返回包含兩個(gè)元素的向量,分別是行數(shù)和列數(shù)reshape在總元素保持不變的情況下,將矩陣重新排列成m×n的二維矩陣。矩陣是按列存儲(chǔ)length返回矩陣行數(shù)和列數(shù)的較大值ndims返回維數(shù)18:1127相關(guān)函數(shù)23:31282.矩陣拆分

(1)利用冒號(hào)表達(dá)式獲得子矩陣

①A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。

②A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內(nèi),并在第k~k+m列中的所有元素。

此外,還可利用一般向量和end運(yùn)算符來(lái)表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。A([1,3,7],:)18:11282.矩陣拆分

(1)利用冒號(hào)表達(dá)式獲23:3129(2)利用空矩陣刪除矩陣的元素

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語(yǔ)句為X=[]。注意,X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。18:1129(2)利用空矩陣刪除矩陣的元素

23:31302.2.3特殊矩陣

1.通用的特殊矩陣

A=eye(n)生成n維單位陣A=ones(n,m)n*m維全部元素都為1矩陣A=rand(n,m)n*m維服從[0,1]分布隨機(jī)陣A=zeros(n,m)n*m維全零矩陣[v,d]=eig(A)求矩陣的特征值和特征向量B=inv(A)求矩陣A的逆陣[m,n]=size(A)求矩陣的行數(shù)和列數(shù)b=length(A)查看矩陣的最大維數(shù)A=randn(m,n)產(chǎn)生0~1間正態(tài)分布的隨機(jī)矩陣18:11302.2.3特殊矩陣

1.通用的特殊矩陣

23:3131例2-3分別建立3×3、3×2和與矩陣A同樣大小的零矩陣。

(1)建立一個(gè)3×3零矩陣。

zeros(3)

(2)建立一個(gè)3×2零矩陣。

zeros(3,2)

(3)設(shè)A為2×3矩陣,則可以用zeros(size(A))建立一個(gè)與矩陣A同樣大小零矩陣。

A=[123;456];%產(chǎn)生一個(gè)2×3階矩陣A

zeros(size(A))%產(chǎn)生一個(gè)與矩陣A同樣大小的零矩陣18:1131例2-3分別建立3×3、3×2和與矩陣A同23:3132例2-4建立隨機(jī)矩陣:

(1)在區(qū)間[20,50]內(nèi)均勻分布的5階隨機(jī)矩陣。

(2)均值為0.6、方差為0.1的5階正態(tài)分布隨機(jī)矩陣。

命令如下:

x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)

此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣。18:1132例2-4建立隨機(jī)矩陣:

(1)在區(qū)間[2023:31332.用于專門學(xué)科的特殊矩陣

(1)魔方矩陣

魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每列及兩條對(duì)角線上的元素和都相等。對(duì)于n階魔方陣,其元素由1,2,3,…,n*n共n*n個(gè)整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個(gè)n階魔方陣。18:11332.用于專門學(xué)科的特殊矩陣

(1)魔方矩陣23:3134例2-5將101~125等25個(gè)數(shù)填入一個(gè)5行5列的表格中,使其每行每列及對(duì)角線的和均為565。

M=100+magic(5)18:1134例2-5將101~125等25個(gè)數(shù)填入一個(gè)23:3135(2)范得蒙矩陣

范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積。可以用一個(gè)指定向量生成一個(gè)范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。例如,A=vander([1;2;3;5])即可得到上述范得蒙矩陣。

18:1135(2)范得蒙矩陣

范得蒙(Vandermo23:3136(3)希爾伯特矩陣

每個(gè)元素=1/(i+j-1)。在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)。

使用一般方法求逆會(huì)因?yàn)樵紨?shù)據(jù)的微小擾動(dòng)而產(chǎn)生不可靠的計(jì)算結(jié)果。MATLAB中,有一個(gè)專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。18:1136(3)希爾伯特矩陣

每個(gè)元素=1/(i+j-23:3137例2-6求4階希爾伯特矩陣及其逆矩陣。

命令如下:

formatrat%以有理形式輸出

H=hilb(4)

H=invhilb(4)

18:1137例2-6求4階希爾伯特矩陣及其逆矩陣。

命23:3138(4)托普利茲矩陣

托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個(gè)元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個(gè)以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長(zhǎng)。toeplitz(x)用向量x生成一個(gè)對(duì)稱的托普利茲矩陣。例如

T=toeplitz(1:6)18:1138(4)托普利茲矩陣

托普利茲(Toepli23:3139(5)伴隨矩陣矩陣A的伴隨矩陣是由|A|的所有元素的代數(shù)余子式按照一定順序排列得到的一個(gè)新矩陣

MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項(xiàng)式的x3-7x+6的伴隨矩陣,可使用命令:

p=[1,0,-7,6];

compan(p)18:1139(5)伴隨矩陣23:3140(6)帕斯卡矩陣

我們知道,二次項(xiàng)(x+y)n展開后的系數(shù)隨n的增大組成一個(gè)三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù)pascal(n)生成一個(gè)n階帕斯卡矩陣。18:1140(6)帕斯卡矩陣

我們知道,二次項(xiàng)(x+y23:3141例2-7求(x+y)6的展開式。

在MATLAB命令窗口,輸入命令:

pascal(6)

矩陣次對(duì)角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。18:1141例2-7求(x+y)6的展開式。

在MAT23:31422.3MATLAB運(yùn)算2.3.1算術(shù)運(yùn)算

1.基本算術(shù)運(yùn)算

MATLAB的基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。

注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。18:11422.3MATLAB運(yùn)算23:3143(1)矩陣加減運(yùn)算

假定有兩個(gè)矩陣A和B,則可以由A+B和A-B實(shí)現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。18:1143(1)矩陣加減運(yùn)算

假定有兩23:3144(2)矩陣乘法

假定有兩個(gè)矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。18:1144(2)矩陣乘法

假定有兩個(gè)矩陣A23:3145(3)矩陣除法

在MATLAB中,有兩種矩陣除法運(yùn)算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運(yùn)算可以實(shí)現(xiàn)。A\B等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。

對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如3/4和4\3有相同的值,都等于0.75。又如,設(shè)a=[10.5,25],則a/5=5\a=[2.10005.0000]。對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,一般A\B≠B/A。18:1145(3)矩陣除法

在MATLAB中,有23:3146(4)矩陣的乘方

一個(gè)矩陣的乘方運(yùn)算可以表示成A^x,要求A為方陣,x為標(biāo)量。

2.點(diǎn)運(yùn)算

在MATLAB中,有一種特殊的運(yùn)算,因?yàn)槠溥\(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.\和.^。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同。18:1146(4)矩陣的乘方

一個(gè)矩陣的23:31472.3.2關(guān)系運(yùn)算

MATLAB提供了6種關(guān)系運(yùn)算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它們的含義不難理解,但要注意其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。18:11472.3.2關(guān)系運(yùn)算

MATLAB提23:3148關(guān)系運(yùn)算符的運(yùn)算法則為:

(1)當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。

(2)當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。18:1148關(guān)系運(yùn)算符的運(yùn)算法則為:

(123:3149(3)當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。18:1149(3)當(dāng)參與比較的一個(gè)是標(biāo)量,而另一23:3150例2-8產(chǎn)生5階隨機(jī)方陣A,其元素為[10,90]區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。

(1)生成5階隨機(jī)方陣A。

A=fix((90-10+1)*rand(5)+10)

(2)判斷A的元素是否可以被3整除。

P=rem(A,3)==0

其中,rem(A,3)是矩陣A的每個(gè)元素除以3的余數(shù)矩陣。此時(shí),0被擴(kuò)展為與A同維數(shù)的零矩陣,P是進(jìn)行等于(==)比較的結(jié)果矩陣。18:1150例2-8產(chǎn)生5階隨機(jī)方陣A,其元素23:31512.3.3邏輯運(yùn)算

MATLAB提供了3種邏輯運(yùn)算符:&(與)、|(或)和~(非)。

邏輯運(yùn)算的運(yùn)算法則為:

(1)在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。

(2)設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和b,那么,

a&ba,b全為非零時(shí),運(yùn)算結(jié)果為1,否則為0。

a|ba,b中只要有一個(gè)非零,運(yùn)算結(jié)果為1。

~a當(dāng)a是零時(shí),運(yùn)算結(jié)果為1;當(dāng)a非零時(shí),運(yùn)算結(jié)果為0。18:11512.3.3邏輯運(yùn)算

MATLAB提23:3152(3)若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由1或0組成。

(4)若參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素由1或0組成。18:1152(3)若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,23:3153(5)邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)則。

(6)在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。18:1153(5)邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)23:3154例2-9建立矩陣A,然后找出大于4的元素的位置。

(1)建立矩陣A。

A=[4,-65,-54,0,6;56,0,67,-45,0]

(2)找出大于4的元素的位置。

find(A>4)18:1154例2-9建立矩陣A,然后找出大于4的元素的23:31552.4矩陣分析

2.4.1對(duì)角陣與三角陣

1.對(duì)角陣

只有對(duì)角線上有非0元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都為1的對(duì)角矩陣稱為單位矩陣。18:11552.4矩陣分析

2.4.1對(duì)角陣與三角陣23:3156(1)提取矩陣的對(duì)角線元素

設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對(duì)角線元素,產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。

diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對(duì)角線的元素。

(2)構(gòu)造對(duì)角矩陣

設(shè)V為具有m個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)m×m對(duì)角矩陣,其主對(duì)角線元素即為向量V的元素。

diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個(gè)n×n(n=m+k)對(duì)角陣,其第k條對(duì)角線的元素即為向量V的元素。18:1156(1)提取矩陣的對(duì)角線元素

設(shè)A為m×n矩陣23:3157例2-10先建立5×5矩陣A,然后將A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。

A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;...

11,18,25,2,19];

D=diag(1:5);

D*A%用D左乘A,對(duì)A的每行乘以一個(gè)指定常數(shù)

18:1157例2-10先建立5×5矩陣A,然后將A的第23:31582.三角陣

三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對(duì)角線以下的元素全為0的一種矩陣,而下三角陣則是對(duì)角線以上的元素全為0的一種矩陣。18:11582.三角陣

三角陣又進(jìn)一步分為上三角陣和下三角23:3159上三角矩陣

求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。

triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對(duì)角線以上的元素。例如,提取矩陣A的第2條對(duì)角線以上的元素,形成新的矩陣B。(2)下三角矩陣

在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。18:1159上三角矩陣

求矩陣A的上三角陣的MATLAB函23:31602.4.2矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1.矩陣的轉(zhuǎn)置

轉(zhuǎn)置運(yùn)算符是單撇號(hào)(’)。2.矩陣的旋轉(zhuǎn)

利用函數(shù)rot90(A,k)將矩陣A逆時(shí)針旋轉(zhuǎn)90o的k倍,當(dāng)k為1時(shí)可省略。18:11602.4.2矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1.矩陣的轉(zhuǎn)置

23:31613.矩陣的左右翻轉(zhuǎn)

對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,…,依次類推。MATLAB對(duì)矩陣A實(shí)施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4.矩陣的上下翻轉(zhuǎn)

MATLAB對(duì)矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。18:11613.矩陣的左右翻轉(zhuǎn)

對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩23:31622.4.3矩陣的逆與偽逆

1.矩陣的逆

對(duì)于一個(gè)方陣A,如果存在一個(gè)與其同階的方陣B,使得:

A·B=B·A=I(I為單位矩陣)

則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。

求一個(gè)矩陣的逆是一件非常煩瑣的工作,容易出錯(cuò),但在MATLAB中,求一個(gè)矩陣的逆非常容易。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。

例2-11用求逆矩陣的方法解線性方程組。

Ax=b

其解為:

x=A-1b18:11622.4.3矩陣的逆與偽逆

1.矩陣的逆

對(duì)23:31632.矩陣的偽逆

如果矩陣A不是一個(gè)方陣,或者A是一個(gè)非滿秩的方陣時(shí),矩陣A沒(méi)有逆矩陣,但可以找到一個(gè)與A的轉(zhuǎn)置矩陣A‘同型的矩陣B,使得:

A·B·A=A

B·A·B=B

此時(shí)稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個(gè)矩陣偽逆的函數(shù)是pinv(A)。18:11632.矩陣的偽逆

如果矩陣A不是一個(gè)方陣,或者A23:31642.4.4方陣的行列式

把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)則求值,這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。在MATLAB中,求方陣A所對(duì)應(yīng)的行列式的值的函數(shù)是det(A)。18:11642.4.4方陣的行列式

把一個(gè)方陣看作一個(gè)行23:31652.4.5矩陣的秩與跡

1.矩陣的秩

矩陣線性無(wú)關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)2.矩陣的跡

矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。18:11652.4.5矩陣的秩與跡

23:31662.4.6向量和矩陣的范數(shù)

矩陣或向量的范數(shù)用來(lái)度量矩陣或向量在某種意義下的長(zhǎng)度。范數(shù)有多種方法定義,其定義不同,范數(shù)值也就不同。常用的三種范數(shù):1-范數(shù):║x║1=│x1│+│x2│+…+│xn│2-范數(shù):║x║2=(│x1│2+│x2│2+…+│xn│2)^1/2∞-范數(shù):║x║∞=max(│x1│,│x2│,…,│xn│)

18:11662.4.6向量和矩陣的范數(shù)23:31671.向量的3種常用范數(shù)及其計(jì)算函數(shù)在MATLAB中,求向量范數(shù)的函數(shù)為:

(1)norm(V)或norm(V,2):計(jì)算向量V的2—范數(shù)。

(2)norm(V,1):計(jì)算向量V的1—范數(shù)。

(3)norm(V,inf):計(jì)算向量V的∞—范數(shù)。2.矩陣的范數(shù)及其計(jì)算函數(shù)

MATLAB提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同。18:11671.向量的3種常用范數(shù)及其計(jì)算函數(shù)23:31682.4.7矩陣的條件數(shù)

矩陣A的條件數(shù)等于A的范數(shù)與A的逆的范數(shù)的乘積,即cond(A)=‖A‖·‖A-1‖,對(duì)應(yīng)矩陣的3種范數(shù),相應(yīng)地可以定義3種條件數(shù)在MATLAB中,計(jì)算矩陣A的3種條件數(shù)的函數(shù)是:

(1)cond(A,1)計(jì)算A的1—范數(shù)下的條件數(shù)。

(2)cond(A)或cond(A,2)計(jì)算A的2—范數(shù)數(shù)下的條件數(shù)。

(3)cond(A,inf)計(jì)算A的∞—范數(shù)下的條件數(shù)。18:11682.4.7矩陣的條件數(shù)

23:31692.4.8矩陣的特征值與特征向量

在MATLAB中,計(jì)算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:

(1)E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E。

(2)[V,D]=eig(A):求矩陣A的全部特征值,構(gòu)成對(duì)角陣D,并求A的特征向量構(gòu)成V的列向量。18:11692.4.8矩陣的特征值與特征向量

23:3170(3)[V,D]=eig(A,‘nobalance’):與第2種格式類似,但第2種格式中先對(duì)A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量。18:1170(3)[V,D]=eig(A,‘nobala23:3171例2-12用求特征值的方法解方程。

3x5-7x4+5x2+2x-18=0

p=[3,-7,0,5,2,-18];

A=compan(p);%P的伴隨矩陣

x1=eig(A)%求A的特征值

x2=roots(p)%直接求多項(xiàng)式p的零點(diǎn)18:1171例2-12用求特征值的方法解方程。

3x523:31722.5矩陣的超越函數(shù)(直接作用于矩陣)

1.矩陣平方根sqrtm

sqrtm(A)計(jì)算矩陣A的平方根。2.矩陣對(duì)數(shù)logm

logm(A)計(jì)算矩陣A的自然對(duì)數(shù)。此函數(shù)輸入?yún)?shù)的條件與輸出結(jié)果間的關(guān)系和函數(shù)sqrtm(A)完全一樣18:11722.5矩陣的超越函數(shù)(直接作用于矩陣)

23:31733.矩陣指數(shù)expm、expm1、expm2、expm3

expm(A)、expm1(A)、expm2(A)、expm3(A)的功能都求矩陣指數(shù)e^A。4.普通矩陣函數(shù)funm

funm(A,‘fun’)用來(lái)計(jì)算直接作用于矩陣A的由‘fun’指定的超越函數(shù)值。當(dāng)fun取sqrt時(shí),funm(A,‘sqrt’)可以計(jì)算矩陣A的平方根,與sqrtm(A)的計(jì)算結(jié)果一樣。18:11733.矩陣指數(shù)expm、expm1、expm2、23:31742.6字符串

在MATLAB中,字符串是用單撇號(hào)括起來(lái)的字符序列。

MATLAB將字符串當(dāng)作一個(gè)行向量,每個(gè)元素對(duì)應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值向量相同。也可以建立多行字符串矩陣。18:11742.6字符串

23:3175字符串是以ASCII碼形式存儲(chǔ)的。abs和double函數(shù)都可以用來(lái)獲取字符串矩陣所對(duì)應(yīng)的ASCII碼數(shù)值矩陣。相反,char函數(shù)可以把ASCII碼矩陣轉(zhuǎn)換為字符串矩陣。18:1175字符串是以ASCII碼形式存儲(chǔ)的。23:3176例2-13建立一個(gè)字符串向量,然后對(duì)該向量做如下處理:

(1)取第1~5個(gè)字符組成的子字符串。

(2)將字符串倒過(guò)來(lái)重新排列。

(3)將字符串中的小寫字母變成相應(yīng)的大寫字母,其余字符不變。

(4)統(tǒng)計(jì)字符串中小寫字母的個(gè)數(shù)。18:1176例2-13建立一個(gè)字符串向量,然后對(duì)該向量23:3177命令如下:

ch=‘ABc123d4e56Fg9’;

subch=ch(1:5)%取子字符串

revch=ch(end:-1:1)%將字符串倒排

k=find(ch>=‘a(chǎn)’&ch<=‘z’);%找小寫字母的位置

ch(k)=ch(k)-(‘a(chǎn)’-‘A’);%將小寫字母變成相應(yīng)的大寫字母

char(ch)

length(k)%統(tǒng)計(jì)小寫字母的個(gè)數(shù)18:1177命令如下:

ch=‘ABc123d4e56Fg23:3178

與字符串有關(guān)的另一個(gè)重要函數(shù)是eval,其調(diào)用格式為:

eval(t)

其中t為字符串。它的作用是把字符串的內(nèi)容作為對(duì)應(yīng)的MATLAB語(yǔ)句來(lái)執(zhí)行。18:1178

與字符串有關(guān)的另一個(gè)重要函數(shù)是eva23:31792.7結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù)

2.7.1結(jié)構(gòu)數(shù)據(jù)使用結(jié)構(gòu)數(shù)據(jù)類型把一組不同類型的數(shù)據(jù),同時(shí)又在邏輯上相關(guān)的數(shù)據(jù)組成一個(gè)整體,如,一個(gè)學(xué)生的基本信息。結(jié)構(gòu)矩陣的建立和引用建立:可以采用給結(jié)構(gòu)體成員賦值的方法結(jié)構(gòu)體矩陣名.成員名=表達(dá)式結(jié)構(gòu)體矩陣元素的成員頁(yè)可以是結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)矩陣的修改刪除結(jié)構(gòu)的成員,用rmfield18:11792.7結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù)

2.7.1結(jié)23:3180結(jié)構(gòu)數(shù)據(jù)相關(guān)函數(shù)struct建立和轉(zhuǎn)換結(jié)構(gòu)矩陣fieldnames獲取結(jié)構(gòu)成員名getfield獲取結(jié)構(gòu)成員內(nèi)容setfield設(shè)定結(jié)構(gòu)成員的內(nèi)容rmfield刪除結(jié)構(gòu)成員isfield成員在結(jié)構(gòu)中時(shí),值為真isstruct是結(jié)構(gòu)時(shí),值為真18:1180結(jié)構(gòu)數(shù)據(jù)相關(guān)函數(shù)struct建立和轉(zhuǎn)換結(jié)構(gòu)矩陣23:31812.7.2單元數(shù)據(jù)單元數(shù)據(jù)與結(jié)構(gòu)數(shù)據(jù)類似。單元數(shù)據(jù)的各個(gè)元素就是不同類型的數(shù)據(jù),用帶有大括號(hào)下標(biāo)的形式引用單元矩陣元素。單元數(shù)據(jù)的建立和引用和一般矩陣類似,但要用大括號(hào)引用:大括號(hào)和下單元矩陣的元素可以是結(jié)構(gòu)或單元

celldisp顯示整個(gè)單元矩陣刪除b的第三個(gè)元素b(3)=[]和b{3}=[]區(qū)別18:12812.7.2單元數(shù)據(jù)單元數(shù)據(jù)與結(jié)構(gòu)數(shù)據(jù)類似。23:3182單元數(shù)據(jù)的相關(guān)函數(shù)celldisp顯示單元矩陣內(nèi)容cellplot顯示單元矩陣的圖形描述num2cell把數(shù)字矩陣轉(zhuǎn)換為單元矩陣deal把輸入分配給輸出cell2struct把單元矩陣轉(zhuǎn)換為結(jié)構(gòu)矩陣struct2cell把結(jié)構(gòu)矩陣轉(zhuǎn)換為單元矩陣iscell是單元矩陣時(shí),值為真18:1282單元數(shù)據(jù)的相關(guān)函數(shù)celldisp顯示單元矩陣23:31832.8稀疏矩陣

2.8.1矩陣存儲(chǔ)方式

MATLAB的矩陣有兩種存儲(chǔ)方式:完全存儲(chǔ)方式和稀疏存儲(chǔ)方式。

1.完全存儲(chǔ)方式

完全存儲(chǔ)方式是將矩陣的全部元素按列存儲(chǔ)。以前講到的矩陣的存儲(chǔ)方式都是按這個(gè)方式存儲(chǔ)的,此存儲(chǔ)方式對(duì)稀疏矩陣也適用。18:12832.8稀疏矩陣

2.8.1矩陣存儲(chǔ)方式23:31842.稀疏存儲(chǔ)方式

稀疏存儲(chǔ)方式僅存儲(chǔ)矩陣所有的非零元素的值及其位置,即行號(hào)和列號(hào)。在MATLAB中,稀疏存儲(chǔ)方式也是按列存儲(chǔ)的。

注意,在講稀疏矩陣時(shí),有兩個(gè)不同的概念,一是指矩陣的0元素較多,該矩陣是一個(gè)具有稀疏特征的矩陣,二是指采用稀疏方式存儲(chǔ)的矩陣。18:12842.稀疏存儲(chǔ)方式

23:31852.8.2稀疏存儲(chǔ)方式的產(chǎn)生

1.將完全存儲(chǔ)方式轉(zhuǎn)化為稀疏存儲(chǔ)方式

函數(shù)A=sparse(S)將矩陣S轉(zhuǎn)化為稀疏存儲(chǔ)方式的矩陣A。當(dāng)矩陣S是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于A=S。

sparse函數(shù)還有其他一些調(diào)用格式:

sparse(m,n):生成一個(gè)m×n的所有元素都是0的稀疏矩陣。

sparse(u,v,S)--:u,v,S是3個(gè)等長(zhǎng)的向量。S是要建立的稀疏矩陣的非0元素,u(i)、v(i)分別是S(i)的行和列下標(biāo),該函數(shù)建立一個(gè)max(u)行、max(v)列并以S為稀疏元素的稀疏矩陣。

此外,還有一些和稀疏矩陣操作有關(guān)的函數(shù)。例如

[u,v,S]=find(A):返回矩陣A中非0元素的下標(biāo)和元素。這里產(chǎn)生的u,v,S可作為sparse(u,v,S)的參數(shù)。

full(A):返回和稀疏存儲(chǔ)矩陣A對(duì)應(yīng)的完全存儲(chǔ)方式矩陣。18:12852.8.2稀疏存儲(chǔ)方式的產(chǎn)生

1.將完全存23:31862.產(chǎn)生稀疏存儲(chǔ)矩陣

只把要建立的稀疏矩陣的非0元素及其所在行和列的位置表示出來(lái)后由MATLAB自己產(chǎn)生其稀疏存儲(chǔ),這需要使用spconvert函數(shù)。調(diào)用格式為:

B=spconvert(A)

其中A為一個(gè)m×3或m×4的矩陣,其每行表示一個(gè)非0元素,m是非0元素的個(gè)數(shù),A每個(gè)元素的意義是:

(i,1)第i個(gè)非0元素所在的行。

(i,2)第i個(gè)非0元素所在的列。

(i,3)第i個(gè)非0元素值的實(shí)部。

(i,4)第i個(gè)非0元素值的虛部,若矩陣的全部元素都是實(shí)數(shù),則無(wú)須第四列。

該函數(shù)將A所描述的一個(gè)稀疏矩陣轉(zhuǎn)化為一個(gè)稀疏存儲(chǔ)矩陣。18:12862.產(chǎn)生稀疏存儲(chǔ)矩陣

23:3187例2-15根據(jù)表示稀疏矩陣的矩陣A,產(chǎn)生一個(gè)稀疏存儲(chǔ)方式矩陣B。

命令如下:

A=[2,2,1;3,1,-1;4,3,3;5,3,8;6,6,12];

B=spconvert(A)18:1287例2-15根據(jù)表示稀疏矩陣的矩陣A,產(chǎn)生一23:31883.帶狀稀疏存儲(chǔ)矩陣

用spdiags函數(shù)產(chǎn)生帶狀稀疏矩陣的稀疏存儲(chǔ),調(diào)用格式是:

A=spdiags(B,d,m,n)

其中,參數(shù)m,n為原帶狀矩陣的行數(shù)與列數(shù)。B為r×p階矩陣,這里r=min(m,n),p為原帶狀矩陣所有非零對(duì)角線的條數(shù),矩陣B的第i列即為原帶狀矩陣的第i條非零對(duì)角線。B=rand(4,2);S3=spdiags(B,[01],4,4)18:12883.帶狀稀疏存儲(chǔ)矩陣

B=rand(4,2);23:318918:128923:31904.單位矩陣的稀疏存儲(chǔ)

單位矩陣只有對(duì)角線元素為1,其他元素都為0,是一種具有稀疏特征的矩陣。函數(shù)eye產(chǎn)生一個(gè)完全存儲(chǔ)方式的單位矩陣。MATLAB還有一個(gè)產(chǎn)生稀疏存儲(chǔ)方式的單位矩陣的函數(shù),這就是speye。函數(shù)speye(m,n)返回一個(gè)m×n的稀疏存儲(chǔ)單位矩陣。18:12904.單位矩陣的稀疏存儲(chǔ)

單位矩陣只有對(duì)角線元素23:31912.8.3稀疏矩陣應(yīng)用舉例

稀疏存儲(chǔ)矩陣只是矩陣的存儲(chǔ)方式不同,它的運(yùn)算規(guī)則與普通矩陣是一樣的。所以,在運(yùn)算過(guò)程中,稀疏存儲(chǔ)矩陣可以直接參與運(yùn)算。當(dāng)參與運(yùn)算的對(duì)象不全是稀疏存儲(chǔ)矩陣時(shí),所得結(jié)果一般是完全存儲(chǔ)形式。18:12912.8.3稀疏矩陣應(yīng)用舉例

稀疏存儲(chǔ)矩陣只23:3192總結(jié)18:1292總結(jié)23:31932.1變量和數(shù)據(jù)操作2.1.1變量與賦值

1.變量命名變量名中不能包含空格、標(biāo)點(diǎn)、但可以包含下劃線等字符。無(wú)需對(duì)變量的類型進(jìn)行說(shuō)明。變量名、函數(shù)名是對(duì)字母大小寫敏感的。變量的第一個(gè)字符必須是英文字母,最多可以包含63個(gè)字符(英文、數(shù)字和下連字符)。18:1112.1變量和數(shù)據(jù)操作2.1.1變量與賦值23:31942.賦值語(yǔ)句

(1)變量=表達(dá)式

(2)表達(dá)式

其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。18:1122.賦值語(yǔ)句

(1)變量=表達(dá)式

(2)23:3195例2-1計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。

在MATLAB命令窗口輸入命令:

x=1+2i;

y=3-sqrt(17);

z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))

其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率π和虛數(shù)單位。

輸出結(jié)果是:

z=

-0.3488+0.3286i18:113例2-1計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。

在23:31962.1.2預(yù)定義變量在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。例如,用pi表示圓周率π的近似值,用i,j表示虛數(shù)單位。

預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。18:1142.1.2預(yù)定義變量在MATLAB工23:31972.1.3內(nèi)存變量的管理

1.內(nèi)存變量的刪除與修改

MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊Open按鈕,將進(jìn)入變量編輯器。通過(guò)變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。18:1152.1.3內(nèi)存變量的管理

1.內(nèi)存變量的刪除23:319818:11623:3199clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。18:117clear命令用于刪除MATLAB工作空間中的變23:311002.內(nèi)存變量文件

利用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來(lái),擴(kuò)展名是.mat。MAT文件的生成和裝入可以由菜單命令完成File—SaveWorkspaceAs用OPEN打開該文件也可以由save和load命令來(lái)完成。常用格式為:

save文件名[變量名表][-append][-ascii]

load文件名[變量名表][-ascii]18:1182.內(nèi)存變量文件

利用MAT文件可以把當(dāng)前MAT23:31101其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,命令隱含一定對(duì).mat文件進(jìn)行操作。變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝入全部變量。-ascii選項(xiàng)使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。save命令中的-append選項(xiàng)控制將變量追加到MAT文件中。18:119其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,23:311022.1.4MATLAB常用數(shù)學(xué)函數(shù)

MATLAB提供了許多數(shù)學(xué)函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。

函數(shù)使用說(shuō)明:

(1)三角函數(shù)以弧度為單位計(jì)算。

(2)abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。

(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。

(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。18:11102.1.4MATLAB常用數(shù)學(xué)函數(shù)

MAT23:31103MATLAB常用數(shù)學(xué)函數(shù)sinatanacoshlog2realfixgcdcossinhatanhexpimagefloorlcmtancoshsqrtpow2conjceilasintanhlogabsremroundacosasinhlog10anglemodsign18:1111MATLAB常用數(shù)學(xué)函數(shù)sinatanacos23:311042.1.5數(shù)據(jù)的輸出格式

MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。

在一般情況下,MATLAB內(nèi)部每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)來(lái)表示和存儲(chǔ)的。數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為:

format格式符

其中格式符決定數(shù)據(jù)的輸出格式18:11122.1.5數(shù)據(jù)的輸出格式

MATL23:31105格式符如下:short47long15shorte5longe15shortglongghexrat近似有理數(shù)表示+正數(shù)、負(fù)數(shù)、零分別用+、-、空格表示bank銀行格式,元、角、分表示compact輸出變量之間沒(méi)空行l(wèi)oose輸出變量之間有空行默認(rèn)格式是short18:1113格式符如下:23:311062.2MATLAB矩陣2.2.1矩陣的建立

1.直接輸入法

最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。18:11142.2MATLAB矩陣2.2.1矩陣的23:311072.利用M文件建立矩陣

對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。下面通過(guò)一個(gè)簡(jiǎn)單例子來(lái)說(shuō)明如何利用M文件創(chuàng)建矩陣。18:11152.利用M文件建立矩陣

對(duì)于比較大且比23:31108例2-2利用M文件建立MYMAT矩陣。

(1)啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣:

(2)把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。

(3)在MATLAB命令窗口中輸入mymatrix,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT的矩陣,可供以后使用。18:1116例2-2利用M文件建立MYMAT矩23:311093.利用冒號(hào)表達(dá)式建立一個(gè)向量

冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式是:

e1:e2:e3

其中e1為初始值,e2為步長(zhǎng),e3為終止值。18:11173.利用冒號(hào)表達(dá)式建立一個(gè)向量

冒號(hào)表23:311104.建立大矩陣

大矩陣可由方括號(hào)中的小矩陣或向量建立起來(lái)。18:11184.建立大矩陣

大矩陣可由方括號(hào)中的小矩陣或向23:31111linspace命令語(yǔ)法:linspace(start,end,num)數(shù)組初值數(shù)組終值平均分割點(diǎn)數(shù)5、Linspace和logspace命令法顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。18:1119linspace命令語(yǔ)法:linspace(s23:31112logspace命令語(yǔ)法:logspace(e1,e2,num)數(shù)組初值數(shù)組終值對(duì)數(shù)平均分割點(diǎn)數(shù)18:1120logspace命令語(yǔ)法:logspace(23:31113多維矩陣MATLAB支持多維行列頁(yè)建立多位矩陣的方法:對(duì)二維進(jìn)行擴(kuò)充對(duì)若干個(gè)同樣大小的二維矩陣進(jìn)行組合前面介紹的建立矩陣的函數(shù),eye除外用cat函數(shù)18:1121多維矩陣MATLAB支持多維行列頁(yè)建立23:31114對(duì)二維進(jìn)行擴(kuò)充18:1122對(duì)二維進(jìn)行擴(kuò)充23:31115對(duì)若干個(gè)同樣大小

的二維矩陣進(jìn)行組合18:1123對(duì)若干個(gè)同樣大小

的二維矩陣進(jìn)行組合23:31116前面介紹的建立矩陣的函數(shù),eye除外18:1124前面介紹的建立矩陣的函數(shù),eye除外23:31117用cat函數(shù)Cat(n,a1,a2,a3….)將大小相同的矩陣沿n維方向串接則可能成為高維矩陣n=1沿行方向擴(kuò)展n=2沿列方向擴(kuò)展n=3沿頁(yè)方向擴(kuò)展18:1125用cat函數(shù)Cat(n,a1,a2,a3….)23:311182.2.2矩陣的拆分

1.矩陣元素

通過(guò)下標(biāo)引用矩陣的元素,例如

A(3,2)=200

采用矩陣元素的序號(hào)來(lái)引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如

A=[1,2,3;4,5,6];

A(3)

ans=

2

顯然,序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。sub2ind(size(A),1,2)[i,j]=ind2sub(size(A),3)18:11262.2.2矩陣的拆分

1.矩陣元素

23:31119相關(guān)函數(shù)size返回包含兩個(gè)元素的向量,分別是行數(shù)和列數(shù)reshape在總元素保持不變的情況下,將矩陣重新排列成m×n的二維矩陣。矩陣是按列存儲(chǔ)length返回矩陣行數(shù)和列數(shù)的較大值ndims返回維數(shù)18:1127相關(guān)函數(shù)23:311202.矩陣拆分

(1)利用冒號(hào)表達(dá)式獲得子矩陣

①A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。

②A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內(nèi),并在第k~k+m列中的所有元素。

此外,還可利用一般向量和end運(yùn)算符來(lái)表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。A([1,3,7],:)18:11282.矩陣拆分

(1)利用冒號(hào)表達(dá)式獲23:31121(2)利用空矩陣刪除矩陣的元素

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語(yǔ)句為X=[]。注意,X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。18:1129(2)利用空矩陣刪除矩陣的元素

23:311222.2.3特殊矩陣

1.通用的特殊矩陣

A=eye(n)生成n維單位陣A=ones(n,m)n*m維全部元素都為1矩陣A=rand(n,m)n*m維服從[0,1]分布隨機(jī)陣A=zeros(n,m)n*m維全零矩陣[v,d]=eig(A)求矩陣的特征值和特征向量B=inv(A)求矩陣A的逆陣[m,n]=size(A)求矩陣的行數(shù)和列數(shù)b=length(A)查看矩陣的最大維數(shù)A=randn(m,n)產(chǎn)生0~1間正態(tài)分布的隨機(jī)矩陣18:11302.2.3特殊矩陣

1.通用的特殊矩陣

23:31123例2-3分別建立3×3、3×2和與矩陣A同樣大小的零矩陣。

(1)建立一個(gè)3×3零矩陣。

zeros(3)

(2)建立一個(gè)3×2零矩陣。

zeros(3,2)

(3)設(shè)A為2×3矩陣,則可以用zeros(size(A))建立一個(gè)與矩陣A同樣大小零矩陣。

A=[123;456];%產(chǎn)生一個(gè)2×3階矩陣A

zeros(size(A))%產(chǎn)生一個(gè)與矩陣A同樣大小的零矩陣18:1131例2-3分別建立3×3、3×2和與矩陣A同23:31124例2-4建立隨機(jī)矩陣:

(1)在區(qū)間[20,50]內(nèi)均勻分布的5階隨機(jī)矩陣。

(2)均值為0.6、方差為0.1的5階正態(tài)分布隨機(jī)矩陣。

命令如下:

x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)

此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣。18:1132例2-4建立隨機(jī)矩陣:

(1)在區(qū)間[2023:311252.用于專門學(xué)科的特殊矩陣

(1)魔方矩陣

魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每列及兩條對(duì)角線上的元素和都相等。對(duì)于n階魔方陣,其元素由1,2,3,…,n*n共n*n個(gè)整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個(gè)n階魔方陣。18:11332.用于專門學(xué)科的特殊矩陣

(1)魔方矩陣23:31126例2-5將101~125等25個(gè)數(shù)填入一個(gè)5行5列的表格中,使其每行每列及對(duì)角線的和均為565。

M=100+magic(5)18:1134例2-5將101~125等25個(gè)數(shù)填入一個(gè)23:31127(2)范得蒙矩陣

范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積。可以用一個(gè)指定向量生成一個(gè)范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。例如,A=vander([1;2;3;5])即可得到上述范得蒙矩陣。

18:1135(2)范得蒙矩陣

范得蒙(Vandermo23:31128(3)希爾伯特矩陣

每個(gè)元素=1/(i+j-1)。在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)。

使用一般方法求逆會(huì)因?yàn)樵紨?shù)據(jù)的微小擾動(dòng)而產(chǎn)生不可靠的計(jì)算結(jié)果。MATLAB中,有一個(gè)專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。18:1136(3)希爾伯特矩陣

每個(gè)元素=1/(i+j-23:31129例2-6求4階希爾伯特矩陣及其逆矩陣。

命令如下:

formatrat%以有理形式輸出

H=hilb(4)

H=invhilb(4)

18:1137例2-6求4階希爾伯特矩陣及其逆矩陣。

命23:31130(4)托普利茲矩陣

托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個(gè)元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個(gè)以x為第一列,y為第一行的托普利茲矩陣。這里x,y均為向量,兩者不必等長(zhǎng)。toeplitz(x)用向量x生成一個(gè)對(duì)稱的托普利茲矩陣。例如

T=toeplitz(1:6)18:1138(4)托普利茲矩陣

托普利茲(Toepli23:31131(5)伴隨矩陣矩陣A的伴隨矩陣是由|A|的所有元素的代數(shù)余子式按照一定順序排列得到的一個(gè)新矩陣

MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項(xiàng)式的x3-7x+6的伴隨矩陣,可使用命令:

p=[1,0,-7,6];

compan(p)18:1139(5)伴隨矩陣23:31132(6)帕斯卡矩陣

我們知道,二次項(xiàng)(x+y)n展開后的系數(shù)隨n的增大組成一個(gè)三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù)pascal(n)生成一個(gè)n階帕斯卡矩陣。18:1140(6)帕斯卡矩陣

我們知道,二次項(xiàng)(x+y23:31133例2-7求(x+y)6的展開式。

在MATLAB命令窗口,輸入命令:

pascal(6)

矩陣次對(duì)角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。18:1141例2-7求(x+y)6的展開式。

在MAT23:311342.3MATLAB運(yùn)算2.3.1算術(shù)運(yùn)算

1.基本算術(shù)運(yùn)算

MATLAB的基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。

注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。18:11422.3MATLAB運(yùn)算23:31135(1)矩陣加減運(yùn)算

假定有兩個(gè)矩陣A和B,則可以由A+B和A-B實(shí)現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。18:1143(1)矩陣加減運(yùn)算

假定有兩23:31136(2)矩陣乘法

假定有兩個(gè)矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。18:1144(2)矩陣乘法

假定有兩個(gè)矩陣A23:31137(3)矩陣除法

在MATLAB中,有兩種矩陣除法運(yùn)算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運(yùn)算可以實(shí)現(xiàn)。A\B等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。

對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如3/4和4\3有相同的值,都等于0.75。又如,設(shè)a=[10.5,25],則a/5=5\a=[2.10005.0000]。對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,一般A\B≠B/A。18:1145(3)矩陣除法

在MATLAB中,有23:31138(4)矩陣的乘方

一個(gè)矩陣的乘方運(yùn)算可以表示成A^x,要求A為方陣,x為標(biāo)量。

2.點(diǎn)運(yùn)算

在MATLAB中,有一種特殊的運(yùn)算,因?yàn)槠溥\(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.\和.^。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同。18:1146(4)矩陣的乘方

一個(gè)矩陣的23:311392.3.2關(guān)系運(yùn)算

MATLAB提供了6種關(guān)系運(yùn)算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它們的含義不難理解,但要注意其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。18:11472.3.2關(guān)系運(yùn)算

MATLAB提23:31140關(guān)系運(yùn)算符的運(yùn)算法則為:

(1)當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。

(2)當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。18:1148關(guān)系運(yùn)算符的運(yùn)算法則為:

(123:31141(3)當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。18:1149(3)當(dāng)參與比較的一個(gè)是標(biāo)量,而另一23:31142例2-8產(chǎn)生5階隨機(jī)方陣A,其元素為[10,90]區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。

(1)生成5階隨機(jī)方陣A。

A=fix((90-10+1)*rand(5)+10)

(2)判斷A的元素是否可以被3整除。

P=rem(A,3)==0

其中,rem(A,3)是矩陣A的每個(gè)元素除以3的余數(shù)矩陣。此時(shí),0被擴(kuò)展為與A同維數(shù)的零矩陣,P是進(jìn)行等于(==)比較的結(jié)果矩陣。18:1150例2-8產(chǎn)生5階隨機(jī)方陣A,其元素23:311432.3.3邏輯運(yùn)算

MATLAB提供了3種邏輯運(yùn)算符:&(與)、|(或)和~(非)。

邏輯運(yùn)算的運(yùn)算法則為:

(1)在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。

(2)設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和b,那么,

a&ba,b全為非零時(shí),運(yùn)算結(jié)果為1,否則為0。

a|ba,b中只要有一個(gè)非零,運(yùn)算結(jié)果為1。

~a當(dāng)a是零時(shí),運(yùn)算結(jié)果為1;當(dāng)a非零時(shí),運(yùn)算結(jié)果為0。18:11512.3.3邏輯運(yùn)算

MATLAB提23:31144(3)若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由1或0組成。

(4)若參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素由1或0組成。18:1152(3)若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,23:31145(5)邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)則。

(6)在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。18:1153(5)邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)23:31146例2-9建立矩陣A,然后找出大于4的元素的位置。

(1)建立矩陣A。

A=[4,-65,-54,0,6;56,0,67,-45,0]

(2)找出大于4的元素的位置。

find(A>4)18:1154例2-9建立矩陣A,然后找出大于4的元素的23:311472.4矩陣分析

2.4.1對(duì)角陣與三角陣

1.對(duì)角陣

只有對(duì)角線上有非0元素的矩陣稱為對(duì)角矩陣,對(duì)角線上的元素相等的對(duì)角矩陣稱為數(shù)量矩陣,對(duì)角線上的元素都為1的對(duì)角矩陣稱為單位矩陣。18:11552.4矩陣分析

2.4.1對(duì)角陣與三角陣23:31148(1)提取矩陣的對(duì)角線元素

設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對(duì)角線元素,產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。

diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對(duì)角線的元素。

(2)構(gòu)造對(duì)角矩陣

設(shè)V為具有m個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)m×m對(duì)角矩陣,其主對(duì)角線元素即為向量V的元素。

diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個(gè)n×n(n=m+k)對(duì)角陣,其第k條對(duì)角線的元素即為向量V的元素。18:1156(1)提取矩陣的對(duì)角線元素

設(shè)A為m×n矩陣23:31149例2-10先建立5×5矩陣A,然后將A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。

A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;...

11,18,25,2,19];

D=diag(1:5);

D*A%用D左乘A,對(duì)A的每行乘以一個(gè)指定常數(shù)

18:1157例2-10先建立5×5矩陣A,然后將A的第23:311502.三角陣

三角陣又進(jìn)一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對(duì)角線以下的元素全為0的一種矩陣,而下三角陣則是對(duì)角線以上的元素全為0的一種矩陣。18:11582.三角陣

三角陣又進(jìn)一步分為上三角陣和下三角23:31151上三角矩陣

求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。

triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對(duì)角線以上的元素。例如,提取矩陣A的第2條對(duì)角線以上的元素,形成新的矩陣B。(2)下三角矩陣

在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論