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

上传人:sccc 文档编号:5316737 上传时间:2023-06-25 格式:PPT 页数:20 大小:181.03KB
返回 下载 相关 举报
九章矩阵的处理与运算.ppt_第1页
第1页 / 共20页
九章矩阵的处理与运算.ppt_第2页
第2页 / 共20页
九章矩阵的处理与运算.ppt_第3页
第3页 / 共20页
九章矩阵的处理与运算.ppt_第4页
第4页 / 共20页
九章矩阵的处理与运算.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《九章矩阵的处理与运算.ppt》由会员分享,可在线阅读,更多相关《九章矩阵的处理与运算.ppt(20页珍藏版)》请在三一办公上搜索。

1、20091020,1,第九章:矩陣的處理與運算,張智星jangcs.nthu.edu.twhttp:/www.cs.nthu.edu.tw/jang清大資工系 多媒體檢索實驗室,20091020,2,9-1 矩陣的索引或下標,矩陣 A 中,位於第 i 橫列、第 j 直行的元素可表示為 A(i,j)i 與 j 即是此元素的下標(Subscript)或索引(Index)MATLAB 中,所有矩陣的內部表示法都是以直行為主的一維向量A(i,j)和 A(i+(j-1)*m)是完全一樣的 m為矩陣A的列數 我們可以使用一維或二維下標來存取矩陣,20091020,3,矩陣的索引或下標,20091020,4

2、,矩陣的索引或下標,可以使用矩陣下標來進行矩陣的索引(Indexing)A(4:5,2:3)-取出矩陣 A 的 第四、五 橫列與 二、三 直行所形成的部份矩陣A(9 14;10 15)-用一維下標的方式來達到同樣目的 用冒號(:),取出一整列或一整行 A(:,5)-取出矩陣 A 的第五個直行 用 end 這個保留字來代表某一維度的最大值 A(:,end)-矩陣 A 的最後一個直行 可以直接刪除矩陣的某一整個橫列或直行 A(2,:)=刪除A矩陣的第二列 A(:,2 4 5)=-刪除 A 矩陣的第二、四、五直行,20091020,5,矩陣的索引或下標,可依次把矩陣 A 和其倒數並排起來,得到新矩陣

3、 B B=A 1./A-1./A 是矩陣 A 每個元素的倒數用 diag 指令取出矩陣的對角線各元素 d=diag(B)-取出矩陣 B 的對角線元素用 reshape 指令來改變一個矩陣的維度 C=reshape(B,2,8)-將矩陣 B 排成 28 的新矩陣 C 注意!MATLAB 會先將矩陣 B 排成一個行向量(即 MATLAB 內部的矩陣表示法),再將此行向量塞成 28 的新矩陣,20091020,6,9-2 特殊用途矩陣,產生各種特殊用途矩陣的好用指令:,20091020,7,Hilbert矩陣 and 魔方陣,hilb(n)指令可以產生 nn 的 Hilbert 矩陣 Hilbert

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

5、可以直接進行加減,MATLAB 會直接將加減應用到每一個元素 A=1 2 3 2 1+5 A=6 7 8 7 6,20091020,10,矩陣的乘法與除法,純量對矩陣的乘或除,可比照一般寫法 A=123,442;C=A/3 B=2*A C=B=41.0000 147.3333 246 884 欲進行矩陣相乘,必需確認第一個矩陣的直行數目(Column Dimension)必需等於第二個矩陣的橫列數目(Row Dimension)範例9-13:matrix12.mC=3 4 5 6 8 10 矩陣的除法,常藉由反矩陣或解線性方程式來達成,20091020,11,矩陣的次方運算,矩陣的次方運算,可

6、由來達成,但矩陣必需是方陣,其次方運算才有意義 範例9-14:matrix14.mB=91 67 67 67 91 67 67 67 91 在*,/及之前加上一個句點,MATLAB 將會執行矩陣內元素對元素(Element-by-element)的運算,20091020,12,排列組合的寫法,在 MATLAB 中,由於計算上所容許的最大值只能算到 170 階層,假如今天我想要知道 500 取 250 的組合(也就是 C 500 取 250),那我有任何其他的方法嗎?,20091020,13,轉置和共軛轉置矩陣,複數矩陣 z,其共軛轉置矩陣(Conjugate Transpose)可表示成矩陣

7、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.0000+2.0000i若 z 為實數,則 z 和 z.的結果是一樣的,20091020,14,向量的p-norm,一個向量 a 的 p-norm 可以定義為 p=2 時,此即為向量 a 的長度,或稱歐氏長度(Euclidean Length)欲求一向量的 p-norm,可使用

8、norm 指令 norm(x,p)範例9-18:normVector01.m,20091020,15,矩陣的p-norm,一個矩陣 A 的 p-norm 可以定義如下:norm 指令亦可用於計算矩陣的 p-norm範例9-19:normMatrix01.m MATLAB 有相當完整的數學函數,三角函數還有計算向量元素統計量的函數(課本 9-159-17),20091020,16,Sort指令,sort 指令可對向量元素進行排序(Sorting)範例9-20:sort01.msorted=1 3 4 5 8index=4 1 5 2 3sorted 是排序後的向量,index 則是每個排序後的元

9、素在原向量 x 的位置 x(index)即等於 sorted 向量 如何使用 sort 指令加上前例中的 sorted 及 index 來求得原先的向量 x?,20091020,17,矩陣的最大元素,找出一矩陣最大元素的位置 範例9-21:max01.mcolMax=23 24 25 21 22colMaxIndex=2 1 5 4 3colMax 代表每一直行的最大值,colMaxIndex 則是每一直行出現最大值的位置 求得 x 的最大元素的位置 範例9-22:max02.mMax value=x(5,3)=25x 的最大元素即是 maxValue,發生位置為 colMaxIndex(ma

10、xIndex),maxIndex=5,3 若只要找出一矩陣 x 的最大值,可輸入 max(max)或是 max(x(:),20091020,18,9-4 矩陣的內部資料型態,一般矩陣的內部資料型態都是 double(雙精準浮點數),但在 MATLAB 5.3 版之後,也支援不同長度的整數與浮點數資料態,20091020,19,不同資料的儲存,我們要節省記憶體空間,可以依矩陣元素值的範圍,選用不同的資料來儲存 範例9-23:datatype01.mName Size Bytes Class x16 10 x10 200 uint16 array x32 10 x10 400 uint32 arr

11、ay x8 10 x10 100 uint8 array x_double 10 x10 800 double array x_single 10 x10 400 single arrayGrand total is 500 elements using 1900 bytes uint8 來儲存變數所佔的空間只有 double 的八分之一!,20091020,20,資料儲存的注意事項,整數資料型態的範圍有限,若超過此範圍,則超出部分將會被裁掉 uint8(300)%uint8 的最大值為 255 ans=255 int8(-500)%int8 的最小值為-128 ans=-128 整數資料型態可以比較大小,但可值域內直接進行數學運算,運算後超過值域範圍的部分也會被裁掉 uint8(20)=20%可比較大小 ans=1 uint8(20)+300%數學運算後會被裁掉Warning:Out of range value or NaN computed in integer arithmetic.ans=255 若要進行數學運算,可將警告訊息開啟,提示 overflow 的產生 intwarning(on);%開啟警告訊息 intwarning(query);%查詢警告訊息狀態,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号