- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09-矩阵的处理与运算
* * * * * * * * * * * * * * MATLAB 程式設計入門篇矩陣的處理與運算 張智星 (Roger Jang) jang@ /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-dimensional array of size m×n. 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) -取出矩陣 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的每個行向量乘上向量v的元素 E = diag(v)*A % 將矩陣A的每個列向量乘上向量v的元素 用 reshape 指令來改變一個矩陣的維度 B = B(1:4, 1:4); C = reshape(B, 2, 8) % 將矩陣 B 排成 2×8 的新矩陣 C MATLAB 會先將矩陣 B 排成一個行向量(即 MATLAB 內部的矩陣表示法),再將此行向量塞成 2×8 的新矩陣 9-2 特殊用途矩陣 產生各種特殊用途矩陣的好用指令 : 指令 說明 zeros(m, n) 產生維度為 m×n ,構成元素全為 0 的矩陣 ones(m, n) 產生維度為 m×n ,構成元素全為 1 的矩陣 eye(n) 產生維度為 n×n ,對角線的各元素全為 1 ,其他各元素全為 0 的單位矩陣 pascal(m, n) 產生維度為 m×n 的 Pascal 矩陣 vander(v) 產生 Vandermonde 矩陣,其中每一個行向量都是向量 v 的冪次 hilb(n) 產生維度為 n×n 的 Hilbert 矩陣 rand(m, n) 產生均勻分佈於 [0, 1] 的亂數矩陣,其維度為 m×n randn(m, n) 產生 μ = 0, σ= 1 的正規分佈亂數矩陣,其維度為 m×n magic(n) 產生維度為 n×n 的魔方陣,其各個直行、橫列及兩對角線的元素和都相等 Hilbert矩陣 魔方陣 hilb(n) 指令可以產生 n×n 的 Hilbert 矩陣 Hilbert 矩陣的特性: 當矩陣變大時,其反矩陣會接近 Singular(即矩陣的行列式會接近於 0) Hilbert 矩陣常被用來評估各種反矩陣計算方法的穩定性 magic(n) 可以產生一個 n×n 的魔方陣(Magic Matrix), 其各個直行、橫列及兩對角線的元素值總和都相等 均勻和高斯分布 rand 指令及 randn 指令則常用於產生亂數矩陣 範例9-11: matrix11.m x1 = rand(10000, 1); x2 = randn(10000, 1); subplot(2,1,1); hist(x1, 40); title(均勻分佈); subplot(2,1,2); hist(x2, 40); title(高斯分佈); set(findobj(gcf, type, patch), … EdgeColor, w); % 改邊線為白色 9-3 矩陣的數學運算 矩陣的
文档评论(0)