




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章第二章 矩陣與數(shù)組矩陣與數(shù)組 引言引言 矩陣的創(chuàng)建矩陣的創(chuàng)建 矩陣的訪問矩陣的訪問 矩陣的操作矩陣的操作1 1 引言引言1.1 變量與常量變量與常量 常常(變變)量:程序運(yùn)行的過程中不需要量:程序運(yùn)行的過程中不需要(可能需要可能需要)改改變數(shù)值的量。變數(shù)值的量。 note:c語言中語言中const作為標(biāo)記;作為標(biāo)記;而而M語言中不存語言中不存在常量的定義在常量的定義,MATLAB中提供了一些常用的常中提供了一些常用的常數(shù)作為常量,例如數(shù)作為常量,例如pi,i, j等。等。1 引言1.2 標(biāo)量標(biāo)量-向量向量-矩陣矩陣 “一般量一般量”:?jiǎn)蝹€(gè)數(shù)值;比如:?jiǎn)蝹€(gè)數(shù)值;比如 3,4,pi等等;等等
2、; 向量向量:行、列向量;比如一段時(shí)間序列(溫度);:行、列向量;比如一段時(shí)間序列(溫度);(一維數(shù)組一維數(shù)組) 矩陣矩陣:線性代數(shù)中的矩陣;(:線性代數(shù)中的矩陣;(二維數(shù)組二維數(shù)組);比如);比如座位號(hào)碼;座位號(hào)碼; (多維數(shù)組多維數(shù)組); note:向量是矩陣的特例(:向量是矩陣的特例(1N、N1的矩陣)。的矩陣)。2 矩陣的創(chuàng)建2.1 向量的創(chuàng)建(向量的創(chuàng)建(P39) 1)直接逐個(gè)輸入)直接逐個(gè)輸入 空格、逗號(hào);分號(hào)空格、逗號(hào);分號(hào) 2)利用運(yùn)算符)利用運(yùn)算符“:” 3)線性等分功能函數(shù))線性等分功能函數(shù)linspace 4)對(duì)數(shù)等分功能函數(shù))對(duì)數(shù)等分功能函數(shù)logspace 列向量列向
3、量的創(chuàng)建:的創(chuàng)建: 1)注意)注意“;” 2)轉(zhuǎn)置)轉(zhuǎn)置2 矩陣的創(chuàng)建2.2 矩陣的創(chuàng)建(矩陣的創(chuàng)建(P42) 1)直接輸入小矩陣)直接輸入小矩陣 2)創(chuàng)建)創(chuàng)建M文件輸入大矩陣文件輸入大矩陣 3)數(shù)組編輯器)數(shù)組編輯器 4)特定矩陣的生成:)特定矩陣的生成:0矩陣,矩陣,1矩陣,單位矩陣,矩陣,單位矩陣, 隨機(jī)矩陣隨機(jī)矩陣 例子:例子: a=rand(3,3); openvar a;2 2 矩陣的創(chuàng)建矩陣的創(chuàng)建3 矩陣的訪問(索引)3.1 向量元素的訪問向量元素的訪問 訪問向量的元素只要使用相應(yīng)元素的訪問向量的元素只要使用相應(yīng)元素的索引索引即可。即可。 索引:坐標(biāo)索引:坐標(biāo),以課堂的位置為例
4、。,以課堂的位置為例。 例子:例子:A = 1 2 3 4 5 6 7 8 9 0 %訪問向量的第三個(gè)元素訪問向量的第三個(gè)元素 A(3)Note:c語言中采用的是語言中采用的是“”,matlab中是中是”()”. %訪問向量的第一、三、七個(gè)元素訪問向量的第一、三、七個(gè)元素 A(1 3 7)ans = 1 3 7 %訪問向量的第一、三、五個(gè)元素訪問向量的第一、三、五個(gè)元素 A(1:2:5) 或或 A(1:2:5)ans = 1 3 5 %訪問向量的最后四個(gè)元素訪問向量的最后四個(gè)元素 A(end-3:end)ans = 7 8 9 0 %重復(fù)訪問向量中的元素重復(fù)訪問向量中的元素 A(1:5,5:
5、-1:1)ans = 1 2 3 4 5 5 4 3 2 1 note: * 關(guān)鍵字關(guān)鍵字end在訪問向量元素時(shí),表示向量中最后在訪問向量元素時(shí),表示向量中最后一個(gè)元素的序號(hào)。一個(gè)元素的序號(hào)。(方便:方便:無需知道向量的實(shí)際長(zhǎng)度,無需知道向量的實(shí)際長(zhǎng)度,即可操作即可操作)。 * 訪問向量元素時(shí),序號(hào)的數(shù)值必須介于數(shù)值訪問向量元素時(shí),序號(hào)的數(shù)值必須介于數(shù)值1end之間。之間。例子例子 對(duì)向量的元素進(jìn)行對(duì)向量的元素進(jìn)行賦值賦值。 %對(duì)向量的第三個(gè)元素賦值對(duì)向量的第三個(gè)元素賦值 A(3) = -3A = 1 2 -3 4 5 6 7 8 9 0 %對(duì)向量中不存在的數(shù)據(jù)賦值對(duì)向量中不存在的數(shù)據(jù)賦值 A
6、(15) = -15A = Columns 1 through 10 1 2 -3 4 5 6 7 8 9 0 Columns 11 through 15 0 0 0 0 -15 note: 在例子在例子2-9中,對(duì)向量的第中,對(duì)向量的第15個(gè)元素賦值,在賦值之個(gè)元素賦值,在賦值之前向量的第前向量的第1115個(gè)元素不存在,但是在賦值之后,將自個(gè)元素不存在,但是在賦值之后,將自動(dòng)創(chuàng)建這些元素,并且為沒有明確賦值的元素賦默認(rèn)值動(dòng)創(chuàng)建這些元素,并且為沒有明確賦值的元素賦默認(rèn)值0,這就是這就是MATLAB的數(shù)據(jù)自動(dòng)擴(kuò)充和初始化機(jī)制的數(shù)據(jù)自動(dòng)擴(kuò)充和初始化機(jī)制。 (這點(diǎn)這點(diǎn)在在c語言中無法實(shí)現(xiàn)的語言中無法
7、實(shí)現(xiàn)的)。)。3.2 矩陣元素的訪問矩陣元素的訪問 矩陣元素的索引矩陣元素的索引: 1)全下標(biāo)全下標(biāo)形式;形式; 2)單下標(biāo)單下標(biāo)形式;形式; 例例2-10: MATLAB工作空間中具有一個(gè)工作空間中具有一個(gè)55的矩陣,該矩陣的矩陣,該矩陣是五階的幻方,通過命令行獲取矩陣的第二行、第四列是五階的幻方,通過命令行獲取矩陣的第二行、第四列的元素,于是在的元素,于是在MATLAB命令行窗口中鍵入下面的指令:命令行窗口中鍵入下面的指令: %創(chuàng)建矩陣創(chuàng)建矩陣 A = magic(5)A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 1
8、8 25 2 9 %使用全下標(biāo)的形式訪問元素使用全下標(biāo)的形式訪問元素 A(2,4)ans = 14 %使用單下標(biāo)的形式訪問元素使用單下標(biāo)的形式訪問元素 A(17) 注:是注:是17不是不是9!ans = 14 note: * 使用了使用了MATLAB函數(shù)函數(shù)magic創(chuàng)建幻方。所謂幻方,創(chuàng)建幻方。所謂幻方,就是就是n階的方陣,該方陣的行元素和列元素的和都相等。階的方陣,該方陣的行元素和列元素的和都相等。 * 全下標(biāo)的形式全下標(biāo)的形式:簡(jiǎn)單、直接,同線性代數(shù)的矩陣:簡(jiǎn)單、直接,同線性代數(shù)的矩陣元素的概念一一對(duì)應(yīng)。元素的概念一一對(duì)應(yīng)。 * 單下標(biāo)單下標(biāo):是矩陣元素在內(nèi)存中存儲(chǔ)的序列號(hào),一:是矩陣元
9、素在內(nèi)存中存儲(chǔ)的序列號(hào),一般地,同一個(gè)矩陣的元素存儲(chǔ)在連續(xù)的內(nèi)存單元中。般地,同一個(gè)矩陣的元素存儲(chǔ)在連續(xù)的內(nèi)存單元中。 * 單下標(biāo)與全下標(biāo)之間的轉(zhuǎn)換關(guān)系:?jiǎn)蜗聵?biāo)與全下標(biāo)之間的轉(zhuǎn)換關(guān)系:矩陣的第矩陣的第i行第行第j列的元素全下標(biāo)表示為單下標(biāo)列的元素全下標(biāo)表示為單下標(biāo)l=(j-1)m+i。 note: MATLAB的矩陣元素的排列以列元素優(yōu)先的矩陣元素的排列以列元素優(yōu)先,C語言語言的的二維數(shù)組元素排列以二維數(shù)組元素排列以行元素行元素優(yōu)先。優(yōu)先。 全下標(biāo)和單下標(biāo)之間的轉(zhuǎn)換全下標(biāo)和單下標(biāo)之間的轉(zhuǎn)換:MATLAB提供了兩個(gè)函提供了兩個(gè)函數(shù)分別完成兩者之間的相互轉(zhuǎn)化:數(shù)分別完成兩者之間的相互轉(zhuǎn)化:* su
10、b2ind:根據(jù)全下標(biāo)計(jì)算單下標(biāo)。根據(jù)全下標(biāo)計(jì)算單下標(biāo)。* ind2sub:根據(jù)單下標(biāo)計(jì)算全下標(biāo)。根據(jù)單下標(biāo)計(jì)算全下標(biāo)。 表表2-1 使用索引訪問矩陣元素的方法使用索引訪問矩陣元素的方法 例子例子2-11 用不同的方法訪問矩陣的元素用不同的方法訪問矩陣的元素。在在MATLAB命令行中鍵入下面的指令:命令行中鍵入下面的指令: % 創(chuàng)建矩陣創(chuàng)建矩陣 A = 1:25; A = reshape(A,5,5)A = 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 %訪問矩陣的第三行第一列元素訪問矩陣的第三行第一列元素
11、A(3,1)或或A(3)ans = 3 % 訪問矩陣第三行的所有元素訪問矩陣第三行的所有元素 A(3,:)ans = 3 8 13 18 23 %訪問矩陣第四列的所有元素訪問矩陣第四列的所有元素 A(:,4)ans = 16 17 18 19 20 %訪問矩陣的最后一行元素訪問矩陣的最后一行元素 A(end,:)ans = 5 10 15 20 25 %獲取矩陣的子矩陣獲取矩陣的子矩陣 I = 1 3 5;J = 2 4; A(I,J)ans = 6 16 8 18 10 20 4 矩陣的基本運(yùn)算矩陣的基本運(yùn)算 4.1 矩陣生成函數(shù)矩陣生成函數(shù) 表表2-2 MATLAB的矩陣生成函數(shù)的矩陣生成
12、函數(shù) 例子例子2-12 矩陣生成函數(shù)的示例矩陣生成函數(shù)的示例。在在MATLAB命令行中鍵入下面的指令:命令行中鍵入下面的指令: %創(chuàng)建三階帕斯卡矩陣創(chuàng)建三階帕斯卡矩陣 A = pascal(3)A = 1 1 1 1 2 3 1 3 6 %從矩陣從矩陣A生成生成下三角矩陣下三角矩陣 tril(A)ans = 1 0 0 1 2 0 1 3 6 %獲取矩陣獲取矩陣A的的對(duì)角線元素對(duì)角線元素 diag(A)ans = 1 2 6 %利用向量利用向量生成對(duì)角矩陣生成對(duì)角矩陣 diag(ans)ans = 1 0 0 0 2 0 0 0 6 4.2 基本矩陣運(yùn)算基本矩陣運(yùn)算表表2-3 矩陣的基本運(yùn)算矩
13、陣的基本運(yùn)算note: 在在MATLAB中,獲取矩陣中,獲取矩陣(線性代數(shù)線性代數(shù))的運(yùn)算函數(shù)列的運(yùn)算函數(shù)列表請(qǐng)?jiān)诒碚?qǐng)?jiān)贛ATLAB命令行窗口中鍵入如下命令:命令行窗口中鍵入如下命令: help matfun在在MATLAB命令行窗口中將顯示相應(yīng)的函數(shù)列表:命令行窗口中將顯示相應(yīng)的函數(shù)列表:Matrix functions - numerical linear algebra.Matrix analysis. norm - Matrix or vector norm. normest - Estimate the matrix 2-norm. 例子例子2-13 矩陣的基本運(yùn)算示例矩陣的基本運(yùn)算
14、示例求解方程組求解方程組4436322321321321xxxxxxxxx %創(chuàng)建線性方程組的系數(shù)矩陣和向量創(chuàng)建線性方程組的系數(shù)矩陣和向量 A = -1 1 2; 3 -1 1; -1 3 4; b = 2;6;4; %求解方程,使用求解方程,使用矩陣求逆矩陣求逆的方法的方法 x = inv(A)*b %求解方程,使用求解方程,使用矩陣左除運(yùn)算矩陣左除運(yùn)算 x = Abx = 1.0000 -1.0000 2.0000 note(擴(kuò)展)(擴(kuò)展):超定方程組,最小二乘法:超定方程組,最小二乘法4.3 基本數(shù)組運(yùn)算(針對(duì)矩陣元素的運(yùn)算)基本數(shù)組運(yùn)算(針對(duì)矩陣元素的運(yùn)算) 1)針對(duì)矩陣針對(duì)矩陣的運(yùn)算
15、的運(yùn)算 2)針對(duì)矩陣元素針對(duì)矩陣元素的運(yùn)算的運(yùn)算 例子例子:矩陣:矩陣A,B,想得到,想得到C:C中元素是中元素是A、B中位中位置對(duì)應(yīng)元素的乘積。置對(duì)應(yīng)元素的乘積。 方法方法1:for 循環(huán)處理;循環(huán)處理; 方法方法2:.* (點(diǎn)乘)運(yùn)算(點(diǎn)乘)運(yùn)算。 *)數(shù)組乘法(點(diǎn)乘)數(shù)組乘法(點(diǎn)乘) 例子例子2-16 數(shù)組乘法示例。數(shù)組乘法示例。 在在MATLAB命令行中,鍵入下面的指令:命令行中,鍵入下面的指令: %本例子中使用的矩陣本例子中使用的矩陣 AA = 0 + 1.0000i 0 + 3.0000i 0 + 5.0000i 0 + 2.0000i 0 + 4.0000i 0 + 6.0000
16、i %矩陣乘法矩陣乘法 A*5ans = 0 + 5.0000i 0 +15.0000i 0 +25.0000i 0 +10.0000i 0 +20.0000i 0 +30.0000i %數(shù)組乘法數(shù)組乘法 A.*5ans = 0 + 5.0000i 0 +15.0000i 0 +25.0000i 0 +10.0000i 0 +20.0000i 0 +30.0000i %矩陣乘法矩陣乘法 A*Aans = 35 44 44 56 %數(shù)組乘法數(shù)組乘法 A.*Aans = -1 -9 -25 -4 -16 -36 4.4 基本數(shù)學(xué)函數(shù)基本數(shù)學(xué)函數(shù) 在在MATLAB中有部分函數(shù)可以用來進(jìn)行基本中有部分
17、函數(shù)可以用來進(jìn)行基本的數(shù)學(xué)運(yùn)算,主要有如下類別:的數(shù)學(xué)運(yùn)算,主要有如下類別: 1)三角函數(shù))三角函數(shù) 2)指數(shù)運(yùn)算函數(shù))指數(shù)運(yùn)算函數(shù) 3)復(fù)數(shù)運(yùn)算函數(shù))復(fù)數(shù)運(yùn)算函數(shù) 4)圓整和求余函數(shù)圓整和求余函數(shù)表表2-4 三三 角角 函函 數(shù)數(shù) 表表2-5 指數(shù)運(yùn)算函數(shù)指數(shù)運(yùn)算函數(shù) note: 以以real開頭的函數(shù)僅能處理實(shí)數(shù),如輸入的參數(shù)為復(fù)開頭的函數(shù)僅能處理實(shí)數(shù),如輸入的參數(shù)為復(fù)數(shù),則數(shù),則MATLAB會(huì)報(bào)錯(cuò)。會(huì)報(bào)錯(cuò)。 函數(shù)函數(shù)nextpow2是用來計(jì)算僅僅比輸入?yún)?shù)大的第一是用來計(jì)算僅僅比輸入?yún)?shù)大的第一個(gè)個(gè)2的冪,例如輸入?yún)?shù)為的冪,例如輸入?yún)?shù)為N,則函數(shù)的計(jì)算結(jié)果整數(shù)則函數(shù)的計(jì)算結(jié)果整數(shù)P需
18、需要滿足的條件為要滿足的條件為2Pabs(N)2P-1。 表表2-6 復(fù)復(fù) 數(shù)數(shù) 運(yùn)運(yùn) 算算 表表2-7 圓整和求余函數(shù)圓整和求余函數(shù) 例子例子2-17 MATLAB的圓整和求余函數(shù)。的圓整和求余函數(shù)。在在MATLAB的命令行中,鍵入下面的指令:的命令行中,鍵入下面的指令: fix(-1.9)ans = -1 floor(-1.9)ans = -2 round(-1.9)ans = -2 ceil(-1.9)ans = -1 2.5.5 矩陣矩陣(數(shù)組數(shù)組)操作函數(shù)操作函數(shù) 在前面的小節(jié)中主要介紹了進(jìn)行數(shù)學(xué)運(yùn)算的在前面的小節(jié)中主要介紹了進(jìn)行數(shù)學(xué)運(yùn)算的MATLAB函數(shù),在函數(shù),在MATLAB中還存在一類函數(shù)用來獲取中還存在一類函數(shù)用來獲取矩陣或者數(shù)組的信息,以及對(duì)數(shù)組進(jìn)行操作,在表矩陣或者數(shù)組的信息,以及對(duì)數(shù)組進(jìn)行操作,在表2-8中中列舉了較常用的函數(shù)。完整的函數(shù)列表內(nèi)容可以在列舉了較常用的函數(shù)。完整的函數(shù)列表內(nèi)容可以在MATLAB命令行中鍵入命令行中鍵入help elmat指令來察看。指令來察看。 表表2-8 用于矩陣用于矩陣(數(shù)組數(shù)組)操作的常用函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互換廣告合同范例
- 公司書訂購(gòu)合同范本
- 公司性貸款合同范本
- 公路 代建合同范本
- 付費(fèi)搭建店鋪合同范本
- 內(nèi)墻抹灰施工合同范本
- 農(nóng)民工工資付款合同范本
- 關(guān)于規(guī)范使用合同范本
- 辦公輔助崗位合同范本
- 住宅消防維修采購(gòu)合同范本
- 2024年廣東省2024屆高三高考模擬測(cè)試(一)一模 化學(xué)試卷(含答案)
- 半導(dǎo)體行業(yè)質(zhì)量管理與質(zhì)量控制
- 2024年山東省春季高考技能考試汽車專業(yè)試題庫(kù)-下(判斷題匯總)
- 部編版道德與法治二年級(jí)下冊(cè)第三單元 綠色小衛(wèi)士 單元作業(yè)設(shè)計(jì)
- 戲曲鑒賞完整版剖析課件
- 《幼兒園經(jīng)營(yíng)與管理》課件
- 熱化學(xué)儲(chǔ)熱耦合高溫相變儲(chǔ)熱多物理場(chǎng)協(xié)同調(diào)控機(jī)理
- 趙匡胤:中國(guó)北宋時(shí)期的開國(guó)皇帝2
- 中國(guó)紡織服裝制造業(yè)年度授信政策指引研究報(bào)告
- 零基礎(chǔ)學(xué)機(jī)器學(xué)習(xí)
- 西方繪畫藝術(shù)流派(最全)課件
評(píng)論
0/150
提交評(píng)論