




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第2章章 MATLAB矩陣及其運算矩陣及其運算2.1 變量和數(shù)據(jù)操作變量和數(shù)據(jù)操作2.2 MATLAB矩陣矩陣2.3 MATLAB運算運算2.4 矩陣分析矩陣分析2.5 矩陣的超越函數(shù)矩陣的超越函數(shù)2.6 字符串字符串2.7 結構數(shù)據(jù)和單元數(shù)據(jù)結構數(shù)據(jù)和單元數(shù)據(jù)2.1 變量和數(shù)據(jù)操作變量和數(shù)據(jù)操作2.1.1 變量與賦值變量與賦值1變量命名變量命名 在在MATLAB 7中,變量名是以字母開中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,頭,后接字母、數(shù)字或下劃線的字符序列,變量名長度不超過變量名長度不超過31位,超過位,超過31位的系統(tǒng)位的系統(tǒng)將忽略不計將忽略不計. 在在MATLAB
2、中,變量名區(qū)分字母的大中,變量名區(qū)分字母的大小寫。小寫。2賦值語句賦值語句(1) 變量變量=表達式表達式 (2) 表達式表達式其中表達式是用運算符將有關運算量連接其中表達式是用運算符將有關運算量連接起來的式子,其結果是一個矩陣。起來的式子,其結果是一個矩陣。例例2-1 計算表達式的值,并顯示計算結果。計算表達式的值,并顯示計算結果。在在MATLAB命令窗口輸入命令:命令窗口輸入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)其中其中pi和和i都是都是MATLAB預先定義的變量,預先定義的變量,分別代表代表圓周率分別代
3、表代表圓周率和虛數(shù)單位。和虛數(shù)單位。輸出結果是:輸出結果是:z = -0.3488 + 0.3286i 2.1.2 預定義變量預定義變量 在在MATLAB工作空間中,還駐留幾個工作空間中,還駐留幾個由系統(tǒng)本身定義的變量。例如,用由系統(tǒng)本身定義的變量。例如,用pi表示圓表示圓周率周率的近似值,用的近似值,用i,j表示虛數(shù)單位。預表示虛數(shù)單位。預定義變量有特定的含義,在使用時,應盡定義變量有特定的含義,在使用時,應盡量避免對這些變量重新賦值。量避免對這些變量重新賦值。2.1.3簡單的計算器使用法簡單的計算器使用法 當命令窗口處于激活狀態(tài)時,會出現(xiàn)當命令窗口處于激活狀態(tài)時,會出現(xiàn)”,在提示符的右邊有
4、一個閃爍光標,表明在提示符的右邊有一個閃爍光標,表明MATLAB 正處于準備狀態(tài),等待用戶輸入各種命令正處于準備狀態(tài),等待用戶輸入各種命令.數(shù)值運數(shù)值運算符號:算符號:+,-,*,/、,1、直接輸入法、直接輸入法 在命令窗口中直接輸入數(shù)學表達式,按在命令窗口中直接輸入數(shù)學表達式,按Enter鍵確認,即可得到結果。結果被自動賦予暫時變鍵確認,即可得到結果。結果被自動賦予暫時變量名量名ans2、存儲變量法、存儲變量法3.標點符號的使用標點符號的使用分號分號(;):暫時不顯示計算的中間結果暫時不顯示計算的中間結果百分號百分號(%):添加注釋語句添加注釋語句逗號逗號(,):一行輸入多條命令語句一行輸入
5、多條命令語句續(xù)行號續(xù)行號(.):將程序分多行書寫將程序分多行書寫2.1.4向量及其運算向量及其運算向量的生成向量的生成1.在命令窗口中直接輸入向量在命令窗口中直接輸入向量可以在行和列向量之間進行轉置可以在行和列向量之間進行轉置2.等差元素向量的生成等差元素向量的生成冒號冒號(:)生成法:基本格式為生成法:基本格式為 vec=vec0:n:vecn, n表示步長表示步長 使用使用linspace函數(shù):線性等分向量函數(shù),基函數(shù):線性等分向量函數(shù),基本格式為本格式為Vec=linspace(vec0,vecn,n),當當n默默認時,系統(tǒng)默認為認時,系統(tǒng)默認為1002.1.5向量的基本運算向量的基本運
6、算1、向量與數(shù)的四則運算、向量與數(shù)的四則運算2、向量與向量之間的加減運算、向量與向量之間的加減運算2.5數(shù)組及其運算2.1.6數(shù)組尋址和排序數(shù)組尋址和排序1.數(shù)組尋址數(shù)組尋址通過對數(shù)組下標的訪問來實現(xiàn)數(shù)組尋址通過對數(shù)組下標的訪問來實現(xiàn)數(shù)組尋址A=1:1:10;A(4);A(2:6);A(6:-2:1);A(1 3 4 5); A(4:end);2 數(shù)組排序數(shù)組排序 使用使用sort函數(shù)對數(shù)組進行排序,使用格式如下:函數(shù)對數(shù)組進行排序,使用格式如下:sort(X) 將數(shù)組中的元素按升序排列將數(shù)組中的元素按升序排列 當當X是多維數(shù)組時,把各列元素按升序排列是多維數(shù)組時,把各列元素按升序排列X=3
7、5 7 0 4 2A=8 5 7;3 4 5;4 1 62.1.7數(shù)組的基本數(shù)值運算數(shù)組的基本數(shù)值運算數(shù)組運算符由矩陣運算符前面增加數(shù)組運算符由矩陣運算符前面增加“.”來表來表示示1、數(shù)組的加減、數(shù)組的加減2、數(shù)組的乘除、數(shù)組的乘除(.*,./, .)X=1 4 7Y=2 5 8Z=X-YV=X+YX=10 52 96 12 56Y=2 26 3 4 8Z1=X.*YZ1=X./Y3、數(shù)組的乘方、數(shù)組的乘方(.)X=1 4 7Y=2 5 8Z=X.YX=3 6 9Z1=X.3X=4 5 6 7 8Z=3.X2.1.8 內(nèi)存變量的管理內(nèi)存變量的管理1內(nèi)存變量的刪除與修改內(nèi)存變量的刪除與修改 MA
8、TLAB工作空間窗口專門用于內(nèi)存變量的工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當選中某些變量后,再單擊的屬性。當選中某些變量后,再單擊Delete按鈕,按鈕,就能刪除這些變量。當選中某些變量后,再單擊就能刪除這些變量。當選中某些變量后,再單擊Open按鈕,將進入變量編輯器。通過變量編輯器按鈕,將進入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量可以直接觀察變量中的具體元素,也可修改變量中的具體元素。中的具體元素。 clear命令用于刪除命令用于刪除MATLAB工作空間中的變工作空間中的變量。
9、量。who和和whos這兩個命令用于顯示在這兩個命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。工作空間中已經(jīng)駐留的變量名清單。who命令只命令只顯示出駐留變量的名稱,顯示出駐留變量的名稱,whos在給出變量名的同在給出變量名的同時,還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型時,還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。等信息。2內(nèi)存變量文件內(nèi)存變量文件 利用利用MAT文件可以把當前文件可以把當前MATLAB工作空工作空間中的一些有用變量長久地保留下來,擴展名間中的一些有用變量長久地保留下來,擴展名是是.mat。MAT文件的生成和裝入由文件的生成和裝入由save和和load命命令來完
10、成。常用格式為:令來完成。常用格式為:save 文件名文件名 變量名表變量名表 load 文件名文件名 變量名表變量名表 其中,文件名可以帶路徑,但不需帶擴展名其中,文件名可以帶路徑,但不需帶擴展名.mat,命令隱含一定對命令隱含一定對.mat文件進行操作。變量名表中文件進行操作。變量名表中的變量個數(shù)不限,只要內(nèi)存或文件中存在即可,的變量個數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當變量名表省略時,保變量名之間以空格分隔。當變量名表省略時,保存或裝入全部變量。存或裝入全部變量。2.1.4 MATLAB常用數(shù)學函數(shù)常用數(shù)學函數(shù) MATLAB提供了許多數(shù)學函數(shù),函數(shù)的自變量規(guī)定提供了
11、許多數(shù)學函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運算法則是將函數(shù)逐項作用于矩陣的元素上,為矩陣變量,運算法則是將函數(shù)逐項作用于矩陣的元素上,因而運算的結果是一個與自變量同維數(shù)的矩陣。因而運算的結果是一個與自變量同維數(shù)的矩陣。函數(shù)使用說明:函數(shù)使用說明:(1) 三角函數(shù)以弧度為單位計算。三角函數(shù)以弧度為單位計算。(2) abs函數(shù)可以求實數(shù)的絕對值、復數(shù)的模、字符串的函數(shù)可以求實數(shù)的絕對值、復數(shù)的模、字符串的ASCII碼值。碼值。(3) 用于取整的函數(shù)有用于取整的函數(shù)有fix、floor、ceil、round,要注意它,要注意它們的區(qū)別。們的區(qū)別。(4) rem與與mod函數(shù)的區(qū)別。函數(shù)的區(qū)別。rem
12、(x,y)和和mod(x,y)要求要求x,y必必須為相同大小的實矩陣或為標量。須為相同大小的實矩陣或為標量。2.1.5 數(shù)據(jù)的輸出格式數(shù)據(jù)的輸出格式 MATLAB用十進制數(shù)表示一個常數(shù),具體可用十進制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學記數(shù)法兩種表示方法。采用日常記數(shù)法和科學記數(shù)法兩種表示方法。 在一般情況下,在一般情況下,MATLAB內(nèi)部每一個數(shù)據(jù)元內(nèi)部每一個數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲的。數(shù)據(jù)輸出時素都是用雙精度數(shù)來表示和存儲的。數(shù)據(jù)輸出時用戶可以用用戶可以用format命令設置或改變數(shù)據(jù)輸出格式。命令設置或改變數(shù)據(jù)輸出格式。format命令的格式為:命令的格式為: forma
13、t 格式符格式符其中格式符決定數(shù)據(jù)的輸出格式其中格式符決定數(shù)據(jù)的輸出格式2.2 MATLAB矩陣矩陣2.2.1 矩陣的建立矩陣的建立1直接輸入法直接輸入法 最簡單的建立矩陣的方法是從鍵盤直接輸入最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方矩陣的元素。具體方法如下:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。素之間用分號分隔。2利用利用M文件建立矩陣文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專對于
14、比較大且比較復雜的矩陣,可以為它專門建立一個門建立一個M文件。下面通過一個簡單例子來說文件。下面通過一個簡單例子來說明如何利用明如何利用M文件創(chuàng)建矩陣。文件創(chuàng)建矩陣。 例例2-2 利用利用M文件建立文件建立MYMAT矩陣。矩陣。(1) 啟動有關編輯程序或啟動有關編輯程序或MATLAB文本編輯器,文本編輯器,并輸入待建矩陣:并輸入待建矩陣: (2) 把輸入的內(nèi)容以純文本方式存盤把輸入的內(nèi)容以純文本方式存盤(設文件名為設文件名為mymatrix.m)。 (3) 在在MATLAB命令窗口中輸入命令窗口中輸入mymatrix,即運,即運行該行該M文件,就會自動建立一個名為文件,就會自動建立一個名為MY
15、MAT的的矩陣,可供以后使用。矩陣,可供以后使用。 3利用冒號表達式建立一個向量利用冒號表達式建立一個向量冒號表達式可以產(chǎn)生一個行向量,一般格式是:冒號表達式可以產(chǎn)生一個行向量,一般格式是: e1:e2:e3其中其中e1為初始值,為初始值,e2為步長,為步長,e3為終止值。為終止值。在在MATLAB中,還可以用中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)函數(shù)產(chǎn)生行向量。其調(diào)用格式為:用格式為: linspace(a,b,n)其中其中a和和b是生成向量的第一個和最后一個元素,是生成向量的第一個和最后一個元素,n是元素是元素總數(shù)??倲?shù)。顯然,顯然,linspace(a,b,n)與與a:(b-a
16、)/(n-1):b等價。等價。4建立大矩陣建立大矩陣大矩陣可由方括號中的小矩陣或向量建立起來。大矩陣可由方括號中的小矩陣或向量建立起來。2.2.2 矩陣的拆分矩陣的拆分1矩陣元素矩陣元素通過下標引用矩陣的元素,例如通過下標引用矩陣的元素,例如A(3,2) . 采用矩陣元素的序號來引用矩陣元素。矩陣采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應元素在內(nèi)存中的排列順序。元素的序號就是相應元素在內(nèi)存中的排列順序。在在MATLAB中,矩陣元素按列存儲,先第一列,中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如再第二列,依次類推。例如A=1,2,3;4,5,6;A(3) 顯然,序號顯然
17、,序號(Index)與下標與下標(Subscript )是一一對應是一一對應的,以的,以mn矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號為的序號為(j-1)*m+i。其相互轉換關系也可利用。其相互轉換關系也可利用sub2ind函數(shù)函數(shù)求得。求得。 例:例:c=sub2ind(size(a),2,3) 2矩陣拆分矩陣拆分(1) 利用冒號表達式獲得子矩陣利用冒號表達式獲得子矩陣 A(:,j)表示取表示取A矩陣的第矩陣的第j列全部元素;列全部元素;A(i,:)表示表示A矩陣矩陣第第i行的全部元素;行的全部元素;A(i,j)表示取表示取A矩陣第矩陣第i行、第行、第j列的元素。列的元素。 A
18、(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),并在第行內(nèi),并在第kk+m列中的所有元素。列中的所有元素。此外,還可利用一般向量和此外,還可利用一般向量和end運算符來表示矩陣下標,運算符來表示矩陣下標,從而獲得子矩陣。從而獲得子矩陣。end表示某一維的末尾元素下標。表示某一維的末尾元素下標。 (2) 利用空矩陣刪除矩陣的元素利用空矩陣刪除矩陣的元素 在在MATLAB中,定義中,定義為空矩陣。給變量為空矩陣。給變量
19、X賦空矩陣的語句為賦空矩陣的語句為X=。注意,。注意,X=與與clear X不不同,同,clear是將是將X從工作空間中刪除,而空矩陣則從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為存在于工作空間中,只是維數(shù)為0。2.2.3 特殊矩陣特殊矩陣1通用的特殊矩陣通用的特殊矩陣常用的產(chǎn)生通用特殊矩陣的函數(shù)有:常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全:產(chǎn)生全0矩陣矩陣(零矩陣零矩陣)。ones:產(chǎn)生全:產(chǎn)生全1矩陣矩陣(幺矩陣幺矩陣)。eye:產(chǎn)生單位矩陣。:產(chǎn)生單位矩陣。rand:產(chǎn)生:產(chǎn)生01間均勻分布的隨機矩陣。間均勻分布的隨機矩陣。randn:產(chǎn)生均值為:產(chǎn)生均值為0,方差
20、為,方差為1的標準正態(tài)分布的標準正態(tài)分布隨機矩陣。隨機矩陣。例例2-3 分別建立分別建立33、32和與矩陣和與矩陣A同樣大小的零矩陣。同樣大小的零矩陣。(1) 建立一個建立一個33零矩陣。零矩陣。zeros(3) (2) 建立一個建立一個32零矩陣。零矩陣。zeros(3,2) (3) 設設A為為23矩陣,則可以用矩陣,則可以用zeros(size(A)建立一個與建立一個與矩陣矩陣A同樣大小零矩陣。同樣大小零矩陣。A=1 2 3;4 5 6; %產(chǎn)生一個產(chǎn)生一個23階矩陣階矩陣Azeros(size(A) %產(chǎn)生一個與矩陣產(chǎn)生一個與矩陣A同樣大小的零矩陣同樣大小的零矩陣例例2-4 建立隨機矩陣
21、:建立隨機矩陣: 在區(qū)間在區(qū)間20,50內(nèi)均勻分布的內(nèi)均勻分布的5階隨機矩陣。階隨機矩陣。命令如下:命令如下:x=20+(50-20)*rand(5)此外,常用的函數(shù)還有此外,常用的函數(shù)還有reshape(A,m,n),它在矩,它在矩陣總元素保持不變的前提下,將矩陣陣總元素保持不變的前提下,將矩陣A重新排成重新排成mn的二維矩陣。的二維矩陣。2用于專門學科的特殊矩陣用于專門學科的特殊矩陣(1) 魔方矩陣魔方矩陣魔方矩陣有一個有趣的性質(zhì),其每行、每列及魔方矩陣有一個有趣的性質(zhì),其每行、每列及兩條對角線上的元素和都相等。對于兩條對角線上的元素和都相等。對于n階魔方階魔方陣,其元素由陣,其元素由1,
22、2,3, 共共 個整數(shù)組成。個整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個其功能是生成一個n階魔方陣。階魔方陣。2n2n例例2-5 將將101125等等25個數(shù)填入一個個數(shù)填入一個5行行5列的列的表格中,使其每行每列及對角線的和均為表格中,使其每行每列及對角線的和均為565。M=100+magic(5) (2) 范得蒙矩陣范得蒙矩陣范得蒙范得蒙(Vandermonde)矩陣最后一列全為矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積??梢杂檬瞧浜罅信c倒數(shù)第二列的點乘積
23、??梢杂靡粋€指定向量生成一個范得蒙矩陣。在一個指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)中,函數(shù)vander(V)生成以向量生成以向量V為基礎向量的范得蒙矩陣。例如,為基礎向量的范得蒙矩陣。例如,A=vander(1;2;3;5)即可得到上述范得蒙矩即可得到上述范得蒙矩陣。陣。(3) 希爾伯特矩陣希爾伯特矩陣在在MATLAB中,生成希爾伯特矩陣的函數(shù)是中,生成希爾伯特矩陣的函數(shù)是hilb(n)。使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產(chǎn)生不可靠的計算結果。產(chǎn)生不可靠的計算結果。MATLAB中,有一個專中,有一個專門求希爾伯特矩陣的逆的函數(shù)門求
24、希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能,其功能是求是求n階的希爾伯特矩陣的逆矩陣。階的希爾伯特矩陣的逆矩陣。例例2-6 求求4階希爾伯特矩陣及其逆矩陣。階希爾伯特矩陣及其逆矩陣。命令如下:命令如下:format rat %以有理形式輸出以有理形式輸出H=hilb(4)H=invhilb(4) 2.3 MATLAB運算運算 2.3.1算術運算算術運算1基本算術運算基本算術運算MATLAB的基本算術運算有:的基本算術運算有:(加加)、(減減)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)。注意,運算是在矩陣意義下進行的,單個注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術運算只
25、是一種特例。數(shù)據(jù)的算術運算只是一種特例。 (1) 矩陣加減運算矩陣加減運算假定有兩個矩陣假定有兩個矩陣A和和B,則可以由,則可以由A+B和和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,減運算,A和和B矩陣的相應元素相加減。如矩陣的相應元素相加減。如果果A與與B的維數(shù)不相同,則的維數(shù)不相同,則MATLAB將給出將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。配。 (2) 矩陣乘法矩陣乘法 假定有兩個矩陣假定有兩個矩陣A和和B,若,若A為為mn矩陣,矩
26、陣,B為為np矩陣,則矩陣,則C=A*B為為mp矩陣。矩陣。 (3) 矩陣除法矩陣除法在在MATLAB中,有兩種矩陣除法運算:中,有兩種矩陣除法運算:和和/,分,分別表示左除和右除。如果別表示左除和右除。如果A矩陣是非奇異方陣,矩陣是非奇異方陣,則則AB和和B/A運算可以實現(xiàn)。運算可以實現(xiàn)。AB等效于等效于A的逆左的逆左乘乘B矩陣,也就是矩陣,也就是inv(A)*B,而,而B/A等效于等效于A矩陣矩陣的逆右乘的逆右乘B矩陣,也就是矩陣,也就是B*inv(A)。對于含有標量的運算,兩種除法運算的結果相同,對于含有標量的運算,兩種除法運算的結果相同,如如3/4和和43有相同的值,都等于有相同的值,
27、都等于0.75。又如,設。又如,設a=10.5,25,則,則a/5=5a=2.1000 5.0000。對于矩。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關系。對于矩陣運算,一般被除數(shù)矩陣的關系。對于矩陣運算,一般ABB/A。A=2 1 -5 1;1 -3 0 -6;0 2 -1 2 ;1 4 -7 6B=8;9;-5;0X=AB (4) 矩陣的乘方矩陣的乘方 一個矩陣的乘方運算可以表示成一個矩陣的乘方運算可以表示成Ax,要,要求求A為方陣,為方陣,x為標量。為標量。2點運算點運算 在在MATLAB中,有一種特殊的運算,因中,有一種特殊
28、的運算,因為其運算符是在有關算術運算符前面加點,為其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有所以叫點運算。點運算符有.*、./、.和和.。兩矩陣進行點運算是指它們的對應元素進兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數(shù)相同。行相關運算,要求兩矩陣的維參數(shù)相同。2.3.2 關系運算關系運算 MATLAB提供了提供了6種關系運算符:種關系運算符:(小小于于)、(大于大于)、=(大于或大于或等于等于)、=(等于等于)、=(不等于不等于)。它們的含。它們的含義不難理解,但要注意其書寫方法與數(shù)學義不難理解,但要注意其書寫方法與數(shù)學中的不等式符號不盡相同。中的不等式
29、符號不盡相同。 關系運算符的運算法則為:關系運算符的運算法則為: (1) 當兩個比較量是標量時,直接比較兩當兩個比較量是標量時,直接比較兩數(shù)的大小。若關系成立,關系表達式結果數(shù)的大小。若關系成立,關系表達式結果為為1,否則為,否則為0。 (2) 當參與比較的量是兩個維數(shù)相同的矩當參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,并給出元素標量關系運算規(guī)則逐個進行,并給出元素比較結果。最終的關系運算的結果是一個比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由維數(shù)與原矩陣相同的矩陣,它的元素由0或或
30、1組成。組成。 (3) 當參與比較的一個是標量,而另一個是當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素標量關系運算規(guī)則逐個比較,并給出元素比較結果。最終的關系運算的結果是一個比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由維數(shù)與原矩陣相同的矩陣,它的元素由0或或1組成。組成。M=magic(5)N=(rem(M,3)N=(rem(M,3)=1)2.3.3 邏輯運算邏輯運算 MATLAB提供了提供了3種邏輯運算符:種邏輯運算符:&(與與)、|(或或)和和(非非)。 邏輯
31、運算的運算法則為:邏輯運算的運算法則為: (1) 在邏輯運算中,確認非零元素為真,用在邏輯運算中,確認非零元素為真,用1表示,零元表示,零元素為假,用素為假,用0表示。表示。 (2) 設參與邏輯運算的是兩個標量設參與邏輯運算的是兩個標量a和和b,那么,那么, a&b a,b全為非零時,運算結果為全為非零時,運算結果為1,否則為,否則為0。 a|b a,b中只要有一個非零,運算結果為中只要有一個非零,運算結果為1。 a 當當a是零時,運算結果為是零時,運算結果為1;當;當a非零時,運算結果非零時,運算結果為為0。 (3) 若參與邏輯運算的是兩個同維矩陣,那若參與邏輯運算的是兩個同維矩陣,
32、那么運算將對矩陣相同位置上的元素按標量么運算將對矩陣相同位置上的元素按標量規(guī)則逐個進行。最終運算結果是一個與原規(guī)則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由矩陣同維的矩陣,其元素由1或或0組成。組成。 (4) 若參與邏輯運算的一個是標量,一個是若參與邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規(guī)則逐個進行。最終運算元素之間按標量規(guī)則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由結果是一個與矩陣同維的矩陣,其元素由1或或0組成。組成。 (5) 邏輯非是單目運算符,也服從矩陣運算規(guī)邏輯非是單目運算符,也服從
33、矩陣運算規(guī)則。則。(6) 在算術、關系、邏輯運算中,算術運算在算術、關系、邏輯運算中,算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。優(yōu)先級最高,邏輯運算優(yōu)先級最低。A=linspace(1,10,10)B=linspace(10,1,10)L1=A4&B5&B5L3=A5|B5L4=A6例例2-9 建立矩陣建立矩陣A,然后找出大于,然后找出大于4的元素的的元素的位置。位置。(1) 建立矩陣建立矩陣A。A=4,-65,-54,0,6;56,0,67,-45,0 (2) 找出大于找出大于4的元素的位置。的元素的位置。find(A4)2.4 矩陣分析矩陣分析2.4.1 對角陣與三角陣對角陣
34、與三角陣1對角陣對角陣只有對角線上有非只有對角線上有非0元素的矩陣稱為對角矩元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為數(shù)量矩陣,對角線上的元素都為1的對角矩的對角矩陣稱為單位矩陣。陣稱為單位矩陣。(1) 提取矩陣的對角線元素提取矩陣的對角線元素設設A為為mn矩陣,矩陣,diag(A)函數(shù)用于提取矩陣函數(shù)用于提取矩陣A主對角線元主對角線元素,產(chǎn)生一個具有素,產(chǎn)生一個具有min(m,n)個元素的列向量。個元素的列向量。diag(A)函數(shù)還有一種形式函數(shù)還有一種形式diag(A,k),其功能是提取第,其功能是提取第k條條對
35、角線的元素。對角線的元素。(2) 構造對角矩陣構造對角矩陣設設V為具有為具有m個元素的向量,個元素的向量,diag(V)將產(chǎn)生一個將產(chǎn)生一個mm對對角矩陣,其主對角線元素即為向量角矩陣,其主對角線元素即為向量V的元素。的元素。diag(V)函數(shù)也有另一種形式函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一,其功能是產(chǎn)生一個個nn(n=m+)對角陣,其第對角陣,其第k條對角線的元素即為向量條對角線的元素即為向量V的元素。的元素。例例2-10 先建立先建立33矩陣矩陣A,然后將,然后將A的第一的第一行元素乘以行元素乘以1,第二行乘以,第二行乘以2,第三行乘以,第三行乘以3。A=2 3 1;3
36、4 2; 4 3 1;D=diag(1:3);D*A %用用D左乘左乘A,對,對A的每行乘的每行乘以一個指定常數(shù)以一個指定常數(shù)2三角陣三角陣三角陣又進一步分為上三角陣和下三角陣,三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元所謂上三角陣,即矩陣的對角線以下的元素全為素全為0的一種矩陣,而下三角陣則是對角的一種矩陣,而下三角陣則是對角線以上的元素全為線以上的元素全為0的一種矩陣。的一種矩陣。(1) 上三角矩陣上三角矩陣求矩陣求矩陣A的上三角陣的的上三角陣的MATLAB函數(shù)是函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式函數(shù)也有另一種形式triu(A,k),其功
37、能是,其功能是求矩陣求矩陣A的第的第k條對角線以上的元素。例如,提取條對角線以上的元素。例如,提取矩陣矩陣A的第的第2條對角線以上的元素,形成新的矩陣條對角線以上的元素,形成新的矩陣B。(2) 下三角矩陣下三角矩陣在在MATLAB中,提取矩陣中,提取矩陣A的下三角矩陣的函數(shù)的下三角矩陣的函數(shù)是是tril(A)和和tril(A,k),其用法與提取上三角矩陣的,其用法與提取上三角矩陣的函數(shù)函數(shù)triu(A)和和triu(A,k)完全相同。完全相同。2.4.2 矩陣的轉置與旋轉矩陣的轉置與旋轉1矩陣的轉置矩陣的轉置轉置運算符是單撇號轉置運算符是單撇號()。2矩陣的旋轉矩陣的旋轉利用函數(shù)利用函數(shù)rot
38、90(A,k)將矩陣將矩陣A旋轉旋轉90的的k倍,倍,當當k為為1時可省略。時可省略。 3矩陣的左右翻轉矩陣的左右翻轉對矩陣實施左右翻轉是將原矩陣的第一列對矩陣實施左右翻轉是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,換,依次類推。,依次類推。MATLAB對矩陣對矩陣A實實施左右翻轉的函數(shù)是施左右翻轉的函數(shù)是fliplr(A)。4矩陣的上下翻轉矩陣的上下翻轉MATLAB對矩陣對矩陣A實施上下翻轉的函數(shù)是實施上下翻轉的函數(shù)是flipud(A)。2.4.3 矩陣的逆矩陣的逆對于一個方陣對于一個方陣A,如果存在一個與其同階的方陣,如果存在一個與其同階的
39、方陣B,使得:使得:AB=BA=I (I為單位矩陣為單位矩陣)則稱則稱B為為A的逆矩陣,當然,的逆矩陣,當然,A也是也是B的逆矩陣。的逆矩陣。求一個矩陣的逆是一件非常煩瑣的工作,容易出求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在錯,但在MATLAB中,求一個矩陣的逆非常容易。中,求一個矩陣的逆非常容易。求方陣求方陣A的逆矩陣可調(diào)用函數(shù)的逆矩陣可調(diào)用函數(shù)inv(A)。例例2-11 用求逆矩陣的方法解線性方程組。用求逆矩陣的方法解線性方程組。Ax=b其解為:其解為:x=A-1b2.4.4 方陣的行列式方陣的行列式把一個方陣看作一個行列式,并對其按行把一個方陣看作一個行列式,并對其按行列式的規(guī)
40、則求值,這個值就稱為矩陣所對列式的規(guī)則求值,這個值就稱為矩陣所對應的行列式的值。在應的行列式的值。在MATLAB中,求方陣中,求方陣A所對應的行列式的值的函數(shù)是所對應的行列式的值的函數(shù)是det(A)。2.4.5 矩陣的秩與跡矩陣的秩與跡1矩陣的秩矩陣的秩矩陣線性無關的行數(shù)與列數(shù)稱為矩陣的秩。矩陣線性無關的行數(shù)與列數(shù)稱為矩陣的秩。在在MATLAB中,求矩陣秩的函數(shù)是中,求矩陣秩的函數(shù)是rank(A)。2矩陣的跡矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在等于矩陣的特征值之和。在MATLAB中,中,求矩陣的跡的函數(shù)是求矩陣的跡的函數(shù)是tr
41、ace(A)。2.4.6 矩陣的特征值與特征向量矩陣的特征值與特征向量在在MATLAB中,計算矩陣中,計算矩陣A的特征值和特的特征值和特征向量的函數(shù)是征向量的函數(shù)是eig(A),常用的調(diào)用格式有,常用的調(diào)用格式有3種:種:(1) E=eig(A):求矩陣:求矩陣A的全部特征值,構的全部特征值,構成向量成向量E。(2) V,D=eig(A):求矩陣:求矩陣A的全部特征值,的全部特征值,構成對角陣構成對角陣D,并求,并求A的特征向量構成的特征向量構成V的的列向量。列向量。 2.6 字符串字符串 在在MATLAB中,字符串是用單撇號括起中,字符串是用單撇號括起來的字符序列。來的字符序列。MATLAB
42、將字符串當作一個行向量,每個將字符串當作一個行向量,每個元素對應一個字符,其標識方法和數(shù)值向元素對應一個字符,其標識方法和數(shù)值向量相同。也可以建立多行字符串矩陣。量相同。也可以建立多行字符串矩陣。字符串是以字符串是以ASCII碼形式存儲的。碼形式存儲的。abs和和double函數(shù)都可以用來獲取字符串矩陣所函數(shù)都可以用來獲取字符串矩陣所對應的對應的ASCII碼數(shù)值矩陣。相反,碼數(shù)值矩陣。相反,char函數(shù)函數(shù)可以把可以把ASCII碼矩陣轉換為字符串矩陣。碼矩陣轉換為字符串矩陣。例例2-13 建立一個字符串向量,然后對該向量建立一個字符串向量,然后對該向量做如下處理:做如下處理:(1) 取第取第15個字符組成的子字符串。個字符組成的子字符串。(2) 將字符串倒過來重新排列。將字符串倒過來重新排列。(3) 將字符串中的小寫字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NB/T 11516-2024臥式振動離心機
- 課外班報班合同協(xié)議
- 設計裝修酒店合同協(xié)議
- 購買船舶協(xié)議合同協(xié)議
- 設備合同違約賠償協(xié)議
- 賬戶轉讓協(xié)議合同協(xié)議
- 訂購合同協(xié)議書范本
- 購買特定車位合同協(xié)議
- 超市會員促銷協(xié)議合同
- 《第02節(jié) 核衰變與核反應方程》教學設計1
- 2025年中國熔融鹽儲能行業(yè)市場占有率及投資前景預測分析報告
- 小學語文教學:深度融入過程性評價
- 唐山2025年唐山市市直事業(yè)單位招聘277人筆試歷年參考題庫附帶答案詳解
- 血液透析室的管理規(guī)范
- 四年級上冊信息技術教案-《龜兔賽跑》教學設計+說課稿-人教(新版) (2份打包)
- 肺癌的手術治療方案
- 2025年中考數(shù)學總復習《四邊形的證明題》專項測試卷(附答案)
- 踝關節(jié)骨折中醫(yī)護理方案
- 統(tǒng)編版語文七年級下第18課《井岡翠竹》公開課一等獎創(chuàng)新教學設計
- 山西地質(zhì)集團招聘筆試真題2024
- 【MOOC】人工智能導論-福建師范大學 中國大學慕課MOOC答案
評論
0/150
提交評論