矩陣及基本運算_第1頁
矩陣及基本運算_第2頁
矩陣及基本運算_第3頁
矩陣及基本運算_第4頁
矩陣及基本運算_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、矩陣及基本運算1 矩陣是MATLAB的基本運算對象 數(shù)值(標量)可以看成11階的矩陣 向量(一維數(shù)組)可看成1n或n1階的矩陣矩陣的建立:2 直接輸入以左方括號開始,右方括號結尾同一行中的元素用逗號或空格隔開行與行之間用分號或回車隔開 a=1,2,3;4,5,6;7,8,9a = 1 2 3 4 5 6 7 8 9 a=1 2 3;4 5 6;7 8 9 a=1 2 3 4 5 6 7 8 9這種方法適用于矩陣元素個數(shù)較少的情況這種方法適用于矩陣元素個數(shù)較少的情況3 用矩陣編輯器輸入在命令窗口創(chuàng)建變量雙擊它打開矩陣編輯器在編輯器中輸入或修改,完畢后關閉即可4 用矩陣函數(shù)創(chuàng)建矩陣zeros(

2、m,n): mn階零矩陣eye(m,n): n階單位矩陣ones(m,n): mn階元素全為1的矩陣rand(m,n): mn階均勻隨機矩陣,取值0到1randn(m,n): mn階正態(tài)隨機矩陣,取值0到1magic(n): n階魔方矩陣(矩陣每行、每列及兩對角線上的元素和相等)hilb(n): n階Hilbert矩陣,即矩陣元素為1/(i+j-1)A=ones(2,3)A = 1 1 1 1 1 1 eye(3)ans = 1 0 0 0 1 0 0 0 15A=diag(v,k)生成主對角線方向上的第k(整數(shù))層元素為向量v的矩陣. 規(guī)定: k=0時,表示矩陣的主對角線 k0時,表示主對角

3、線的平行位置上方的第k層 K v=1 2 3 A=diag(v,0) B=diag(v,1)例 隨機生成數(shù)值在10到30之間的含5個元素的行向量7 10+(30-10)*rand(1,5)ans = 25.8441 29.1898 23.1148 10.7142 26.9826例 生成三對角矩陣8A = 1 2 0 0 0 0 1 1 2 0 0 0 0 2 1 2 0 0 0 0 3 1 2 0 0 0 0 1 1 2 0 0 0 0 2 1 a1=ones(1,6) a2=2*ones(1,5) a3=1 2 3 1 2 A=diag(a1,0)+diag(a2,1)+diag(a3,-1

4、)9 通過文件生成有時我們需要處理一些沒有規(guī)律的數(shù)據(jù),或數(shù)據(jù)量很大時,如在命令窗口輸入,清除后再次使用需要重新輸入,這就增加工作量. 解決方案:直接把數(shù)據(jù)作為矩陣輸入到M文件(Matlab的程序代碼文件)中作為變量保存到MAT文件中 Save Filename var1 var2 var3 Load Filename數(shù)組的生成:10 使用from:step:to生成數(shù)組 當step省略時,表示步長step=1當step為負數(shù)時,可以創(chuàng)建降序的數(shù)組除前面的矩陣輸入外,還有 a=1:0.5:2a = 1.0000 1.5000 2.0000 b=1:3b = 1 2 3 c=3:-1:1c = 3

5、 2 111linspace(a,b,n) 生成從a到b之間線性分布的n個元素的數(shù)組. 如果n省略,則默認為100.logspace(a,b,n) 生成從10a到10b之間按對數(shù)等分的n個元素的數(shù)組. 如果n省略,則默認為50. a=linspace(1,9,5)a = 1 3 5 7 9 b=logspace(1,5,3)b = 10 1000 100000logspace(a,b,n)=10.linspace(a,b,n)復數(shù)矩陣的輸入12 A=1+2i 3+4i; 5+6i 7+8i A=1 3;5 7+i*2 4;6 8設A = 1 + 2i 3 + 4i 5 + 6i 7 + 8i矩

6、陣元素操作 MATLAB利用下標來訪問矩陣中的元素,下標可以是向量.13設 A = 1 2 3 4 5 6 7 8 9 b=A(2,3)b = 6 c=A(1 2,2 3)c = 2 3 5 6 如果在某個下標位置只有一個:號,則表示取對應的所有列或行. 用end表示某一維數(shù)中的最大值.14設 A = 1 2 3 4 5 6 7 8 9 b=A(2,:)b = 4 5 6 c=A(:,2:3)c = 2 3 5 6 8 9 d=A(1:2,end)d = 3 6 用單下標來表示 即將矩陣的所有列按先左后右的次序接成“一維長列”,然后再對元素位置進行編號15設 A = 1 2 3 4 5 6 7

7、 8 9 A(4)ans = 2 A(2:5)ans = 4 7 2 5 矩陣的合并16A = 1 2 3 4 5 6B = 7 8 9 10C = 11 12 13 A,Bans = 1 2 3 7 8 4 5 6 9 10 A;Cans = 1 2 3 4 5 6 11 12 13 通過空矩陣“ ”對矩陣元素進行刪除17設 A = 1 2 3 4 5 6 7 8 9 A(2,:)=A = 1 2 3 7 8 9 A=A = isempty(A)ans = 1矩陣的運算 基本運算加(+):A+B, A+k (每個元素都加k)減(-):A-B, A-k乘(*):A*B左除():AB, 即A-1

8、B, A必須為方陣右除(/): A/B, 即AB-1, B必須為方陣乘冪(): An, A必須為方陣轉置(): transpose(A)或 A點運算(.): 其加、減、乘、除和乘方都是對兩個相同維數(shù)的矩陣進行對應元素的運算.1819A = 1 2 3 3 2 1 1 2 5B = -2 9 -15 6 15 -21 -6 11 -2例 已知求出AX=B和XA=B的解 ABans = 2.0000 4.0000 3.5000 1.0000 1.0000 -19.0000 -2.0000 1.0000 6.5000 inv(A)*Bans = 2.0000 4.0000 3.5000 1.0000

9、 1.0000 -19.0000 -2.0000 1.0000 6.5000 B/Aans = 25.2500 -3.2500 -17.5000 30.7500 -0.7500 -22.5000 26.2500 -5.7500 -15.0000 B*inv(A)ans = 25.2500 -3.2500 -17.5000 30.7500 -0.7500 -22.5000 26.2500 -5.7500 -15.000020A = 1 2 3 4 5 6B = 7 8 -9 -1 -3 -2例 已知 A.*Bans = 7 16 -27 -4 -15 -12 A./Bans = 0.1429 0

10、.2500 -0.3333 -4.0000 -1.6667 -3.0000 A.Bans = 7.0000 4.0000 -3.0000 -0.2500 -0.6000 -0.3333 A.3ans = 1 8 27 64 125 216 關系運算關系運算符:(小于)、 (大于)、 =(大于等于)、=(等于)、=(不等于)關于運算在對應元素之間進行,結果是一個二值矩陣,其中0表示“假”,1表示“真”.21相關函數(shù) I = find(A) 返回矩陣A的非零元素的線性指標I J= find(A) 返回矩陣A的非零元素的行、列指標,分別存于I和JA = 1 0 0 4 find(A)ans = 1

11、4 I J=find(A)I = 1 2J = 1 222 A=1 4 3 2;B=5 4 1 3; AB %比較A與B矩陣的元素大小,輸出邏輯數(shù)值ans = 0 0 1 0 x=find(A=B) %找出A與B中對應元素相等的下標x = 2 A(find(A=B) %找出A和B中對應元素相等的元素ans = 4例 23例 找出以下矩陣中絕對值大于3的所有元素 A=zeros(2,5); A(:)=-4:5A = -4 -2 0 2 4 -3 -1 1 3 5 L=abs(A)3L = 1 0 0 0 1 0 0 0 0 1A = -4 -2 0 2 4 -3 -1 1 3 5 XL=A(fi

12、nd(L)XL = -4 4 5 邏輯運算邏輯運算符:&(與)、 |(或)、 (非)、 xor(異或)、&(先決與)、|(先決或)24xyx&yxIyxxor(x,y)000010010111100101111100&: 當該運算符的左邊為1時,才執(zhí)行右邊的運算|: 當該運算符的左邊為0時,才執(zhí)行右邊的運算25A = 1 2 3 4B = 4 3 2 1例 設 (AB)&(A=B)ans = 0 0 0 0 (AB)&(A1)ans = 0 0 1 1 (AB)|(A1)ans = 0 1 1 1 xor(AB, A1)ans = 0 1 0 0

13、其它一些常用矩陣函數(shù)size(A): 返回矩陣的行數(shù)和列數(shù)size(A,1): 返回行數(shù)size(A,2): 返回列數(shù)length(a): 返回向量a的長度reshape(A,m,n): 重排矩陣A為m行n列矩陣,A必須為m*n個元素26A = 1 2 3 4 5 6a = 1 2 3 4 5 size(A)ans = 2 3 size(A,2)ans = 3 reshape(A,3,2)ans = 1 5 4 3 2 6 length(a)ans = 5max(a): 返回向量a的最大元素max(A,dim): 返回矩陣沿著第dim維方向的最大元素向量max(A,B): 返回矩陣A,B中對應

14、位置上的較大元素min: 返回最小元素,用法類似maxmean(a): 返回向量a的平均值mean(A,dim): 返回矩陣A第dim維方向上平均值median: 返回中位數(shù),用法類似meansum:求元素和,用法類似meanprod:求元素積,用法類似meancumsum:求元素累積和,用法類似meansort(a):對向量a進行升序排序sort(A,dim,mode): 對矩陣A沿著第dim維方向排序,mode:ascend(升序,默認)、descend(降序)2728a = 12 5 65 9 3 1A = 1 2 3 4 5 6 max(A,1)ans = 4 5 6 max(A,2)

15、ans = 3 6 max(A)ans = 4 5 6 max(a)ans = 65 min(a)ans = 129a = 12 5 65 9 3 1A = 1 2 3 4 5 6 sum(a)ans = 95 cumsum(a)ans = 12 17 82 91 94 95 sum(A,1)ans = 5 7 9 sum(A,2)ans = 6 15 sum(A)ans = 5 7 930a = 12 5 20 9 3 1A = 1 2 3 4 5 6 prod(a)ans = 32400 prod(A,1)ans = 4 10 18 prod(A,2)ans = 6 120 prod(A)

16、ans = 4 10 1831a = 12 5 20 9 3 1A = 1 2 3 4 5 6 sort(a)ans = 1 3 5 9 12 20 sort(a,ascend)ans = 1 3 5 9 12 20 sort(a,descend)ans = 20 12 9 5 3 1 sort(A,1)ans = 1 2 3 4 5 6 sort(A,2)ans = 1 2 3 4 5 6 sort(A)ans = 1 2 3 4 5 6例 計算以下例子32 1+2+100 1*2*100 6+9+12+297+300 sum(1:100)ans = 5050 prod(1:100)ans

17、= 9.3326e+157 sum(6:3:300)ans = 15147階乘:factorial(N)=prod(1:N) factorial(100)ans = 9.3326e+15733設 a = 12 5 10 9 3 1A = 1 2 3 4 5 6用多種方法求數(shù)組a的算術平均值,矩陣A每行的算術平均值 mean(a)ans = 6.6667 sum(a)/length(a)ans = 6.6667 sum(a)/size(a,2)ans = 6.6667 mean(A,2)ans = 2 5 sum(A,2)/size(A,2)ans = 2 534例 設a= 91, 98, 50

18、, 75, 69, 88,利用sort函數(shù)求出排名第二大的數(shù) a=91, 98, 50, 75, 69, 88; b index=sort(a,descend)b = 98 91 88 75 69 50index = 2 1 6 4 5 3 a(index(2)ans = 91 a=91, 98, 50, 75, 69, 88; b=sort(a,descend)b = 98 91 88 75 69 50 b(2)ans = 91b=a(index)35例 某農(nóng)場飼養(yǎng)的動物所能達到的最大年齡為15歲,將其分為三個年齡組:第一組,05歲;第二組,610歲;第三組,1115歲. 動物從第二個年齡組起開始繁殖后代,經(jīng)長期統(tǒng)計:第二個年齡組的動物在其年齡段平均繁殖4個后代,第三個年齡組的動物在其年齡段平均繁殖3個后代,第一個年齡組和第二個年齡組的動物能順利進入下一個年齡組的存活率分別為1/2和1/4. 假設農(nóng)場現(xiàn)有三個年齡段的動物各1000,問:5年、10年及15年后農(nóng)場飼養(yǎng)的動物總數(shù)及農(nóng)場三個年齡段的動物

溫馨提示

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

評論

0/150

提交評論