- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矩阵及运算及处理
矩阵的运算和处理 王玉皞 博士/副教授 南昌大学信息工程学院 Email:w.yuhao@ 9-1 矩阵的索引或下标 矩阵 A 中,位于第 i 行、第 j列的元素可表示为 A(i, j) i 与 j 即是此元素的下标(Subscript)或索引(Index) MATLAB 中,所有矩阵的内部表示法都是以列为主的一维向量 A(i, j) 和 A(i+(j-1)*m) 是完全一样的~m为矩阵A的列数 我们可以使用一维或二维下标来存取矩阵 矩阵的索引或下标 矩阵的索引或下标 可以使用矩阵下标来进行矩阵的索引(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 的对角线元素 用 reshape 指令来改变一个矩阵的维度 C = reshape(B, 2, 8) - 将矩阵 B 排成 2×8 的新矩阵 C 注意!! MATLAB 会先将矩阵 B 排成一个行向量(即 MATLAB 内部的矩阵表示法),再将此行向量塞成 2×8 的新矩阵 9-2 特殊用途矩阵 产生各种特殊用途矩阵的好用指令 : Hilbert矩阵 and 魔方阵 hilb(n) 指令可以产生 n×n 的 Hilbert 矩阵 Hilbert 矩阵的特性: 当矩阵变大时,其反矩阵会接近 Singular(即矩阵的行列式会接近于 0) Hilbert 矩阵常被用来评估各种反矩阵计算方法的稳定性 magic(n) 可以产生一个 n×n 的魔方阵(Magic Matrix), 其各个列、行及两对角线的元素值总和都相等 均匀和高斯分布 rand 指令及 randn 指令则常用于产生随机数矩阵 范例9-11: matrix11.m 9-3 矩阵的数学运算 矩阵的加减与一般纯量(Scalar)的加减类似 相加或相减的矩阵必需具有相同的维度 范例9-12: matrix12.m C = 13 37 58 24 矩阵与纯量可以直接进行加减,MATLAB 会直接将加减应用到每一个元素 A = [1 2 3 2 1] + 5 A = 6 7 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 67 91 67 67 67 91 在「*」,「/」及「^」之前加上一个句点,MATLAB 将会执行矩阵内「元素对元素」(Element-by-element) 的运算 转置和「共轭转置」矩阵 复数矩阵 z,其「共轭转置」矩阵(Conjugate Transpose) 可表示成矩阵 z 范例9-16: conjTranspose01.m w = 1.0000-1.0000i 3.0000 2.0000 1.0000-2.0000i 想得到任何矩阵 z 的转置(Transpose),则可表示成矩阵 z. 范例9-17: transpose01.m w = 1.0000+1.0000i 3.0000
文档评论(0)