第三章 矩阵及其运算
第3章 矩阵线性代数算法实现
3.4 矩阵基本运算_1
3.4.1 加、减运算
3.4.2 乘法运算
1 两个矩阵相乘 2 矩阵的数乘 3 矩阵点乘 .* 4 内积dot(A,B)
第3章 矩阵线性代数算法实现
5 叉积cross(A,B)
6 混合积 7 矩阵的卷积和多项式乘法 conv(u,v) 说明:w=conv(u,v)。w(k)=
第3章 矩阵线性代数算法实现 3.2.6 矩阵元素的数据变换 1 取整数 Байду номын сангаасloor; ceil; round; fix %例3-14 A=3*rand(2) B1=floor(A) B2=ceil(A) B3=round(A) B4=fix(A)
第3章 矩阵线性代数算法实现 2 有理数形式 格式:[n,d]=rat (A) 说明:将A表示为两个整数矩阵相除,即: A= n . / d %例3-15 A=rand(2) [n,d]=rat (A) 3 余数 格式:B = rem (A, x) 说明:B为矩阵A除以模x后的余数 %例3-16 A=rand(2) B = rem (A, 2)
格式:fliplr(A)
%例3-7 A = [1 2 3 4;5 6 7 8]; fliplr(A) 2 上下翻转 flipud(A) 格式 :flipud(A) %例3-8 A = [1 2 3 4;5 6 7 8]; flipud(A)
第3章 矩阵线性代数算法实现
3 逆时针旋转rot90(A,k);
特别的:若A=a,则B为m×n的全a矩阵。
%例3-11 A = [1 2; 3 4]; B=repmat(A,3,2)
第3章 矩阵线性代数算法实现 3.2.5 矩阵的变维 1.使用“ :”变维 格式:B(:)=A(:) %例3-12 A=[1 2 5 4; 6 7 0 1] B=ones(4,2) B(:)=A(:) 2.使用reshape函数变维 格式:B = reshape(A,m,n) %例3-13 A=[1:8]; B=reshape(A,2,4)
格式:rot90(A) 或 rot90(A,k) 注:逆时针旋转 k×90度,k=±1,±2,±3,……
%例3-9 A = [1 2 3 4;5 6 7 8]; rot90(A)
4 按指定维数翻转矩阵 flipdim(A,dim)
注:dim=1或2 flipdim(A,1)=flipud(A) flipdim(A,1)=fliplr(A)
a11 B a1n B C A B a B a B mn m1
%例3-41 A=[1 2;3 4]; B=[1 2 3;4 5 6;7 8 9]; C=kron(A,B)
第3章 矩阵线性代数算法实现
3.4 矩阵基本运算_2
3.4.3 除法运算
%例3-10 A = [1 2 3 4;5 6 7 8]; B1=flipdim(A,1) B2=flipdim(A,2)
第3章 矩阵线性代数算法实现
5 平铺矩阵 B=repmat(A,m,n)
格式1:B=repmat(A,m,n) 格式2:B=repmat(A,[m n]) 格式3:B=repmat(A,[m n p……]) 注:B由m×n块A平铺而成。
1 左除(\)和右除(/)
说明:x=A\b是方程A*x =b的解,而x=b/A是方程x*A=b的解。 若A非奇异,那么A\b=inv(A)*b,b/A=b*inv(A) %例3-42 A=[1 0 3;4 13 6;7 4 9]; b=[4;7;1]; C=A\b
第3章 矩阵线性代数算法实现
2 矩阵点除 B./A %例3-43 A=[1 2 3;4 5 6]; B=[7 4 9;4 7 1]; C=B./A
第3章 矩阵线性代数算法实现 3.1.3 由文本文件生成
txt文件中不含变量名称,文件名x为矩阵变量名,每 行数值个数必须相等。 调用:load ‘d:\...’
%例3-3 load f0303.txt f0303 %定义f0303.txt文件—下述代码另存为 工作目录下的f0303.txt文件 1.1 1.2 2.1 2.2
3.4.6 矩阵转置 ′
3.4.7 方阵的运算
1 方阵的行列式 d=det(A) 2 方阵的迹 trace
第3章 矩阵线性代数算法实现
8 反褶积(解卷)和多项式除法运算
[q,r]=deconv(v,u)表示多项式v除以多项式u,返回商多 项式q和余多项式r 。 %例3-40 u = [1 2 3 4]; v = [10 20 30]; c = conv(u,v) [q,r] = deconv(c,u)
第3章 矩阵线性代数算法实现 9 张量积 C=kron (A,B)
第3章 矩阵线性代数算法实现
3.1 矩阵的生成_1
矩阵主要有数值矩阵、符号矩阵、特殊矩阵。
本节主要介绍生成实数数值矩阵的几种方法。
3.1.1 由命令窗口直接输入
同一行中不同元素用逗号(,)或用空格符来分隔、 空格个数不限;不同行用分号(;)分隔或者分行输入 ;所有元素置于一方括号([ ])内。 %例3-1 x = [1 2 3 4;2 3 4 5;3 4 5 6]
第3章 矩阵线性代数算法实现
3.2 矩阵的修改_1
3.2.1 部分扩充
格式: D=[A;B C]
%例3-4
A=[1 2 3 4; 5 6 7 8]; B=eye(2); C=zeros(2); D=[A;B C]
第3章 矩阵线性代数算法实现
3.2.2 部分删除
格式:A(:,n)=[] %例3-5 A = [1 2 3 4;5 6 7 8]; A(:,2)=[] 或 A(m,:)=[]
u( j)v(k 1 j)
j 1
k
多项式p=“以u为系数多项式” ד以v为系数的多项 式” w恰好为p的系数向量。 %例3-39 w=conv([1,2,2],conv([1,4],[1,1])) %求多项式系数向量w P=poly2str(w,'s') %将w表示成s的多项式
第3章 矩阵线性代数算法实现
第3章 矩阵线性代数算法实现 唯一解解法 矩阵有数值 /符号 /特殊矩阵 矩阵函数 加、减 1 Cholesky 分解 chol(X) 线性方程组一般求解可分为两类: 矩阵的逆与伪逆 部分扩充 D=[A;B C] 矩阵的生成 1 矩阵除法解法 生成实数数值矩阵方法 : 除法运算 1部分删除 方阵的指数 expm(A) 乘法 求方程组唯一解 ( 特解 ) A(:,n)=[];A(m,:)=[] 2 LU 分解 lu(X) 1 由命令窗口直接输入 方阵的逆矩阵 常用特殊矩阵函数 AX=b =>X=A\b' (inv(A) 方法1) (1) 矩阵的修改 求方程组无穷解 (通解 ) 1 两个矩阵相乘 2部分修改 矩阵的对数 B=logm(A) ; 3 QR 分解 qr(A) 1 左除 (\), 右除 (/), 点除 B./A 2 矩阵 LU、QR和cholesky 分解解法 同一行用,或空格分隔 (个数不限) 2 方阵的伪逆矩阵 pinv(A) 特殊矩阵的生成方法 特殊矩阵 通过系数矩阵的秩 r(rank) A(m,:)=[a b …]; A(:,n)=[ a b判断 …] : 2 数乘 3 方阵的函数 F = funm(A,fun) 4 schur 分解 schur(A) 不同行用;分隔或分行输入; 齐次线性方程组通解解法 x=A\b是方程A*x =b的解 矩阵和向量的范数 n为未知变量个数 ) 1( 单位阵 eye 2) 1 矩阵 ones 结构改变 矩阵基本运算 3 点乘 .* 4 矩阵的方根 X = sqrtm(A) 所有元素置于一 [ ] 内。 非齐次线性方程组通解的解法 5 实 Schur 分解转化成复 Schur x=b/A 是方程 x*A=b 的解 左右翻转 fliplr(A) 上下翻转 flipud(A) r = n ,有唯一解; 1 向量的范数 norm(X) 加/减/乘 除/乘方 3 零矩阵 zeros 4 随机阵 randn 4 内积 dot(A,B) % 例 3-1 x = [1 2 3 4;2 3 4 5;3 4 5 A) 6] 1, 一般 : 5 矩阵 A 的多项式 polyvalm(P, 逆时针旋转 rot90(A,k); [U,T]=rsf2csf(u,t) 0 3;4 13 6;7 ( 4 9]; 1个解。 r<A=[1 n,可有无穷解 只给 转置/方阵/矩阵函数 (2) 由 m 文件生成 5 叉积 cross(A,B) 25 矩阵的范数 norm(A) AX=b 通解 : 魔方阵 magic 6 对角阵 diag 按指定维数翻转矩阵 flipdim(A,dim) 矩阵转置 ′ 6 特征值分解 eig(A) r > n ,给出 LSM 意义上的解。 b=[4;7;1];C=A\b 调用时 run ‘…’ 特解 矩阵高级运算 平铺矩阵 B=repmat(A,m,n) 6 混合积 AX=0 通解 + AX=b 7 三角阵 triu cond(A) Hilbert阵 hilb 矩阵的条件数 方阵的运算 线性方程组无穷解 = 8 (X) 7 奇异值分解 svd (3) 由文本文件生成 矩阵的变维 2,rref 法 乘方运算 7 卷积 conv(u,v) 逆/范数/条件数/秩 齐次方程组通解 + 9 托普利茲阵 toeplitz 1 方阵行列式 d=det(A) txt 文件不含变量名称 矩阵的秩 rank (A) B(:)=A(:); B = reshape(A,m,n) 8 特征值问题的 QZ分解 qz(A,B) 特殊线性方程组的解法 矩阵分解 8 反褶积 deconv 非齐次方程组 1个特解 1 矩阵乘方 ^ 文件名为矩阵变量名 矩阵数据变换 2 方阵的迹 trace 99 海森伯格形式的分解 hess(A) 1 矩阵元素个数 LQ 法 2 双共轭梯度法 numel(A) 张量积 kron (A,B) 求解线性方程组 取整数 floor; ceil; round; fix 每行数值个数必须相等 2 矩阵的数量乘方 .^ 3 广义最小残差法 一般方法 特殊方法 有理数 [n,d]=rat(A) 余数 B=rem (A, x) 调用: load ‘d:\...’