第九章矩阵的处理与运算.ppt

上传人:ga****84 文档编号:447689 上传时间:2018-10-07 格式:PPT 页数:22 大小:502KB
下载 相关 举报
第九章矩阵的处理与运算.ppt_第1页
第1页 / 共22页
第九章矩阵的处理与运算.ppt_第2页
第2页 / 共22页
第九章矩阵的处理与运算.ppt_第3页
第3页 / 共22页
第九章矩阵的处理与运算.ppt_第4页
第4页 / 共22页
第九章矩阵的处理与运算.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、MATLAB 程式設計入門篇矩陣的處理與運算,張智星 (Roger Jang)jangmirlab.orghttp:/mirlab.org/jang台大資工系 多媒體檢索實驗室,9-1 矩陣的索引或下標,矩陣 A 中,位於第 i 橫列、第 j 直行的元素可表示為 A(i, j) i 與 j 即是此元素的下標(Subscript)或索引(Index) MATLAB 中,所有矩陣的內部表示法都是以直行為主的一維向量A(i, j) 和 A(i+(j-1)*m) 是完全一樣的,其中m為矩陣A的列數 我們可以使用一維或二維下標來存取矩陣,Quiz,Suppose that A is a 2-dimens

2、ional array of size mn.Given A(i, j), how to find the linear index y such that A(y) = A(i, j)?Given A(y), how to find i and j such that A(i, j)=A(y)?,矩陣的索引或下標,矩陣的索引或下標,可以使用矩陣下標來進行矩陣的索引(Indexing)A(4:5,2:3) -取出矩陣 A 的 第四、五 橫列與 二、三 直行所形成的部份矩陣A(9 14; 10 15) - 用一維下標的方式來達到同樣目的 用冒號(:), 取出一整列或一整行 A(:, 5) -取出

3、矩陣 A 的第五個直行 用 end 這個保留字來代表某一維度的最大值 A(:, end) - 矩陣 A 的最後一個直行 可以直接刪除矩陣的某一整個橫列或直行 A(2, :) = 刪除A矩陣的第二列 A(:, 2 4 5) = - 刪除 A 矩陣的第二、四、五直行,矩陣的索引或下標,可把矩陣 A 和其倒數並排起來,得到新矩陣 B B = A 1./A % 1./A 是矩陣 A 每個元素的倒數用 diag 指令取出矩陣的對角線各元素 D = diag(B)% 取出矩陣 B 的對角線元素D = diag(v)% 產生以向量 v 為主對角線的方陣E = A*diag(v)% 將矩陣A的每個行向量乘上向

4、量v的元素E = diag(v)*A% 將矩陣A的每個列向量乘上向量v的元素用 reshape 指令來改變一個矩陣的維度 B = B(1:4, 1:4);C = reshape(B, 2, 8)% 將矩陣 B 排成 28 的新矩陣 CMATLAB 會先將矩陣 B 排成一個行向量(即 MATLAB 內部的矩陣表示法),再將此行向量塞成 28 的新矩陣,9-2 特殊用途矩陣,產生各種特殊用途矩陣的好用指令 :,Hilbert矩陣 & 魔方陣,hilb(n) 指令可以產生 nn 的 Hilbert 矩陣 Hilbert 矩陣的特性: 當矩陣變大時,其反矩陣會接近 Singular(即矩陣的行列式會接

5、近於 0)Hilbert 矩陣常被用來評估各種反矩陣計算方法的穩定性 magic(n) 可以產生一個 nn 的魔方陣(Magic Matrix),其各個直行、橫列及兩對角線的元素值總和都相等,均勻和高斯分布,rand 指令及 randn 指令則常用於產生亂數矩陣 範例9-11: matrix11.m,9-3矩陣的數學運算,矩陣的加減與一般純量(Scalar)的加減類似 相加或相減的矩陣必需具有相同的維度 範例9-12: matrix12.mC = 13 37 58 24 矩陣與純量可以直接進行加減,MATLAB 會直接將加減應用到每一個元素 A = 1 2 3 2 1 + 5 A = 6 7

6、8 7 6,矩陣的乘法與除法,純量對矩陣的乘或除,可比照一般寫法 A = 123 , 442; C = A/3 B = 2*A C = B = 41.0000 147.3333 246 884 欲進行矩陣相乘,必需確認第一個矩陣的直行數目( Column Dimension) 必需等於第二個矩陣的橫列數目(Row Dimension) 範例9-13: matrix12.m C = 3 4 5 6 8 10 矩陣的除法,常藉由反矩陣或解線性方程式來達成,矩陣的次方運算,矩陣的次方運算,可由來達成,但矩陣必需是方陣,其次方運算才有意義 範例9-14: matrix14.m B = 91 67 67

7、 67 91 67 67 67 91 在*,/及之前加上一個句點,MATLAB 將會執行矩陣內元素對元素(Element-by-element) 的運算,轉置和共軛轉置矩陣,複數矩陣 z,其共軛轉置矩陣(Conjugate Transpose) 可表示成矩陣 z 範例9-16: conjTranspose01.mw = 1.0000-1.0000i 3.0000 2.0000 1.0000-2.0000i 想得到任何矩陣 z 的轉置(Transpose),則可表示成矩陣 z. 範例9-17: transpose01.mw = 1.0000+1.0000i 3.0000 2.0000 1.000

8、0+2.0000i若 z 為實數,則 z 和 z. 的結果是一樣的,向量的Lp-norm,一個向量 a 的 Lp-norm 可以定義為p=1 taxicab distance, or Manhattan distancep=2 Euclidean Length (length of a) P=inf max. distance 欲求一向量的 p-norm,可使用 norm 指令 norm(x,p)範例9-18: normVector01.m,Quiz!,Quiz for Lp-norm,ProveOn a 2D space, plot the trajectory of,矩陣的Lp-norm,

9、一個矩陣 A 的 Lp-norm 可以定義如下:norm 指令亦可用於計算矩陣的 Lp-norm範例9-19: normMatrix01.m MATLAB 有相當完整的數學函數,三角函數還有計算向量元素統計量的函數(課本 9-159-17),Sort指令,sort 指令可對向量元素進行排序(Sorting) 範例9-20: sort01.msorted = 1 3 4 5 8index = 4 1 5 2 3sorted 是排序後的向量,index 則是每個排序後的元素在原向量 x 的位置,因此 x(index) 即等於 sorted 向量。 如何使用 sort 指令加上前例中的 sorted

10、 及 index 來求得原先的向量 x?,Exerrcise!,矩陣的最大元素,找出一矩陣最大元素的位置 範例9-21: max01.m colMax = 23 24 25 21 22colMaxIndex = 2 1 5 4 3colMax 代表每一直行的最大值,colMaxIndex 則是每一直行出現最大值的位置 求得 x 的最大元素的位置 範例9-22: max02.mMax value = x(5, 3) = 25x 的最大元素即是 maxValue,發生位置為 colMaxIndex(maxIndex), maxIndex = 5 , 3 若只要找出一矩陣 x 的最大值,可輸入 ma

11、x(max(x)或是 max(x(:),9-4 矩陣的內部資料型態,一般矩陣的內部資料型態都是 double(雙精準浮點數),但在 MATLAB 5.3 版之後,也支援不同長度的整數與浮點數資料態,不同資料的儲存,我們要節省記憶體空間,可以依矩陣元素值的範圍,選用不同的資料來儲存 範例9-23: datatype01.mName Size Bytes Class x16 10x10 200 uint16 array x32 10x10 400 uint32 array x8 10x10 100 uint8 array x_double 10x10 800 double array x_sing

12、le 10x10 400 single arrayGrand total is 500 elements using 1900 bytes uint8 來儲存變數所佔的空間只有 double 的八分之一 !,資料儲存的注意事項,整數資料型態的範圍有限,若超過此範圍,則超出部分將會被裁掉 uint8(300)% uint8 的最大值為 255 ans = 255 int8(-500)% int8 的最小值為 -128 ans = -128 整數資料型態可以比較大小,亦可直接進行數學運算,但必須注意其資料型態的自動轉換: uint8(20)= 20% 可比較大小 ans = 1 z=uint8(magic(3) z*2.5(Please try it by yourself to get the conversion rule!) 若要進行精準的數學運算,需先用 double 指令將整數型態之變數轉成雙倍精準浮點數,Interesting Demos by Cleve,Under “cleve” folder of this chaptereigshow.msvdshow.mvorodrag.mvshow.m,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。