当前位置:文档之家› matlab向量与矩阵的运算

matlab向量与矩阵的运算


Matlab中常见数学函数 中常见数学函数
sin、cos、tan、cot、sec、csc、… 、 、 、 、 、 、 asin、acos、atan、acot、asec、acsc、… 、 、 、 、 、 、 exp、log、log2、log10、sqrt 、 、 、 、 abs、conj、real、imag、sign 、 、 、 、 fix、floor、ceil、round、mod、rem 、 、 、 、 、 max、min、sum、mean、sort、… 、 、 、 、 、 det、inv、eig、rank、… 、 、 、 、 …… 是自然对数, ① log 是自然对数,即以 e 为底数 同号, ② mod(x,y) 结果与 y 同号,rem(x,y) 则与 x 同号 等函数的参数是矩阵时, ③ max 等函数的参数是矩阵时,是作用在矩阵各列上
例:>> A=[1 2 3; 4 5 6]; B=[2 1; 3 4];
>> C=A*B
矩阵基本运算
矩阵的除法: 、 矩阵的除法:/、\ 右除和左除 除法
若 A 可逆方阵,则 B/A <==> A 的逆右乘 B <==> B*inv(A) A\B <==> A 的逆左乘 B <==> inv(A)*B 通常,矩阵除法可以理解为 X=A\B <==> A*X=B X=B/A <==> X*A=B
例:>> C=magic(3)
常见矩阵生成函数
zeros(m,n) 生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) 列的零矩阵, ones(m,n) eye(m,n) diag(X) tril(A) triu(A) rand(m,n) 的矩阵, 生成一个 m 行 n 列的元素全为 1 的矩阵 m=n 时可写为 ones(n) 列矩阵, 生成一个主对角线全为 1 的 m 行 n 列矩阵 m=n 时可简写为 eye(n),即为 n 维单位矩阵 , 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 是矩阵, 是向量, 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 提取一个矩阵的下三角部分 提取一个矩阵的上三角部分 产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n) ~
向量与矩阵运算
向量与矩阵运算
向量与矩阵的生成
向量的生成 直接输入: 直接输入 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]; B=[3 2 1; 6 5 4];
>> C=A.*B; D=A./B; E=A.\B; F=A.^B; 参与运算的对象必须具有相同的形状! 参与运算的对象必须具有相同的形状!
矩阵与数的运算
加减:矩阵的每个元素都与数作加减运算 加减: 数乘: 数乘:矩阵的每个元素都与数作乘法运算 矩阵除以一个数:每个元素都除以这个数 矩阵除以一个数: 点幂: 点幂:
矩阵操作
查看矩阵的大小: 查看矩阵的大小: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) length(A) 返回向量 返回向量 X 的长度 等价于 max(size(A))
randn(m,n) 产生均值为 ,方差为1的标准正态分布随机矩阵 产生均值为0,方差为 的标准正态分布随机矩阵 m=n 时简写为 randn(n) 其它特殊矩阵生成函数: 其它特殊矩阵生成函数:magic、hilb、pascal
矩阵操作
提取矩阵的部分元素: 提取矩阵的部分元素: 冒号运算符
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=[1 2;2i 3i]
>> B=A’ >> C=A.’
矩阵操作
改变矩阵的形状: 改变矩阵的形状:reshape
reshape(A,m,n): 将矩阵元素按 列方向 进行重组 重组后得到的新矩阵的元素个数 必须与原矩阵元素个数相等! 必须与原矩阵元素个数相等!
向量与矩阵运算
向量与矩阵的生成( 向量与矩阵的生成(续)
矩阵的生成 直接输入: 直接输入 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]
矩阵基本运算
矩阵的加减: 矩阵的加减:对应分量进行运算
要求参与加减运算的矩阵具有 相同的维数
例:>> A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4]
>> C=A+B; D=A-B;
矩阵的普通乘法
要求参与运算的矩阵满足线性代数中矩阵相乘的原则 要求参与运算的矩阵满足线性代数中矩阵相乘的
矩阵操作
矩阵的旋转
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)
底为矩阵,指数为标量 底为标量,指数为矩阵
数与数组的点幂
例:x=[1 2 3]; y=[4 5 6];
x.^y =[1^4,2^5,3^6]=[1,32,729] x.^2 =[1^2,2^2,3^2]=[1,4,9] 2 .^x = ? 2 .^[x;y]= ?
.^ 前面留个空格
Matlab中的所有 中的所有 标点符号必须在 英文状态下输入
矩阵的乘方
A 是方阵,p 是正整数 A^p 表示 A 的 p 次幂,即 p 个 A 相乘。
若 A 是方阵,p 不是正整数 A^p 的计算涉及到 A 的特征值分解,即若 的特征值分解, A = V*D*V-1 则 A^p=V*(D.^p)/V
矩阵的数组运算
数组运算: 数组运算:对应元素进行运算
数组运算包括:点乘、点除、 数组运算包括:点乘、点除、点幂 相应的数组运算符为: 相应的数组运算符为: “.* ” , “./ ” , “.\ ” 和 “ .^ ” 点与算术运算符之间不能有空格!
相关主题