- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab基础 向量与矩阵运算 * * 向量与矩阵的生成 向量与矩阵运算 向量的生成 直接输入: a=[1,2,3,4] 冒号运算符 a=[1:4] == a=[1, 2, 3, 4] b=[0:pi/3:pi] == b=[0, 1.0472, 2.0944, 3.1416] c=[6:-2:0] == c = [6, 4, 2, 0] 例: 从矩阵中抽取行或列 * * 向量与矩阵的生成(续) 向量与矩阵运算 矩阵的生成 直接输入: A=[1, 2, 3; 4, 5, 6; 7, 8, 9] 由向量生成 由函数生成 通过编写m文件生成 例: x=[1,2,3];y=[2,3,4]; A=[x,y], B=[x;y] 例: C=magic(3) * * 常见矩阵生成函数 zeros(m,n) 生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) ones(m,n) 生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n) eye(m,n) 生成一个主对角线全为 1 的 m 行 n 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵 diag(X) 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 tril(A) 提取一个矩阵的下三角部分 triu(A) 提取一个矩阵的上三角部分 rand(m,n) 产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n) randn(m,n) 产生均值为0,方差为1的标准正态分布随机矩阵m=n 时简写为 randn(n) * * 矩阵操作 提取矩阵的部分元素: 冒号运算符 A(:) A的所有元素 A(:,:) 二维矩阵A的所有元素 A(:,k) A的第 k 列, A(k,:) A的第 k 行 A(k:m) A的第 k 到第 m 个元素 A(:,k:m) A的第 k 到第 m 列组成的子矩阵 A(:) 与 A(:,:) 的区别 ? 如何获得由 A 的第一、三行和第一、二列组成的子矩阵? 自己动手 * * 矩阵操作 矩阵的旋转 fliplr(A) 左右旋转 flipud(A) 上下旋转 rot90(A) 逆时针旋转 90 度; rot90(A,k) 逆时针旋转 k×90 度 例: A=[1 2 3;4 5 6] B=fliplr(A) C=flipud(A) D=rot90(A), E=rot90(A,-1) * * 矩阵操作 矩阵的转置与共轭转置 ’ 共轭转置 .’ 转置,矩阵元素不取共轭 例: A=[1 2;2i 3i] B=A’ C=A.’ 点与单引号之间不能有空格! * * 矩阵操作 改变矩阵的形状:reshape reshape(A,m,n): 将矩阵元素按 列方向 进行重组 重组后得到的新矩阵的元素个数 必须与原矩阵元素个数相等! * * 矩阵操作 查看矩阵的大小:size size(A) 列出矩阵 A 的行数和列数 size(A,1) 返回矩阵 A 的行数 size(A,2) 返回矩阵 A 的列数 例: A=[1 2 3; 4 5 6] size(A) size(A,1) size(A,2) length(x) 返回向量 X 的长度 length(A) 等价于 max(size(A)) * * 矩阵基本运算 矩阵的加减:对应分量进行运算 要求参与加减运算的矩阵具有 相同的维数 例: A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4] C=A+B; D=A-B; 矩阵的普通乘法 要求参与运算的矩阵满足线性代数中矩阵相乘的原则 例: A=[1 2 3; 4 5 6]; B=[2 1; 3 4]; C=A*B * * 矩阵基本运算 矩阵的除法:/、\ 右除和左除 若 A 可逆方阵,则 A\B == A 的逆左乘 B == inv(A)*B B/A == A 的逆右乘 B == B*inv(A) X=A\B == A*X=B X=B/A == X*A=B 通常,矩阵除法可以理解为 当 A 和 B 行数相等时即可进行左除 当 A 和 B 列数相等时即可进行右除 * * 线性代数运算的MATLAB命令 MATLAB是矩阵化程序设计语言,所以处理矩阵和向量运算特别方便。关于矩阵和向量的一些基本运算命令已在前面有所介绍,常用的命令和函数还有 zeros 生成0矩阵
文档评论(0)