eye(n) eye(m,n)
zeros(n) zeros(m,n)
ones(n) ones(m,n)
rand(n,m) rand(n)
diag(V) % V=[1 2 3 4];
compan(P) % p=[1,a1,a2,...,an]
triu(B) tril(B) 矩阵函数
det(A)
inv(A) pinv(A)
矩阵求逆 矩阵的行列式
上三角矩阵 下三角矩阵 伴随矩阵 对角矩阵
随机元素矩阵函数 全1矩阵的生成 零矩阵的生成 单位阵的生成
矩阵的迹 trace(A)
矩阵的秩 rank(A)
矩阵三角分解 [L,U] = lu(A)
矩阵奇异值分解 cond(A)
矩阵的范数 N = norm(A,选项)
矩阵的特征多项值与特征向量 [V,D]=eig(A)
矩阵的特征多项式、特征方程和特征根 P = poly(A) V = roots(P)
------------------------------------------------------------------------------------------------------------------
MatLab中的矩阵
我们知道,求解线性方程组是线性代数课程中的核心内容,而矩阵又在求解线性方程组的过程中扮演着举足轻重的角色。下面我们就利用科学计算软件MATLAB来演示如何使用矩阵,同时,也使学生对线性代数的认识更加理性。 一、矩阵的构造
在MatLab中,构造矩阵的方法有两种。一种是直接法,就是通过键盘输入的方式直接构造矩阵。另一种是利用函数产生矩阵。 例1.利用pascal函数来产生一个矩阵 A=pascal(3) A=
1 1 1
1 2 3 1 3 6
例2.利用magic函数来产生一个矩阵 B=magic(3) B=
8 1 6 3 5 7 4 9 2
例3.还可以利用函数产生一个4*3的随机矩阵 >>c=rand(4,3) c=
0.9501 0.13 0.8214 0.2311 0.7621 0.4447 0.6068 0.4565 0.61 0.4860 0.0185 0.7919
例4.利用直接输入法可产生列矩阵、行矩阵及常数 u=[3;1;4] u= 3 1 4
v=[2 0 -1] v=
2 0 -1 s=7 s= 7
二、矩阵的基本运算 1、四则运算 例5.矩阵的加法
X=A+B X=
9 2 7 4 7 10 5 12 8 例6.矩阵的减法 Y=X-A Y=
8 1 6 3 5 7 4 9 2
注: 若二个矩阵的大小不完全相同,则会出错! 例如,X=A+u
??? Error using ==> plus Matrix dimensions must agree。 例7.矩阵的乘法 X=A*B X=
15 15 15 26 38 26 41 70 39
注: 若第一个矩阵的列数和第二个矩阵行数不相同,这两个矩阵就不可以相乘。 例如,X=A*v
??? Error using ==> mtimes
Inner matrix dimensions must agree。
在MATLAB中,矩阵的除法有两个运算符号,分别为左除“\\”与右除“/”,矩阵的右除运算速度要慢一点,而左除运算可以避免奇异矩阵的影响,它们的作用主要用于求解线性方程组,我们在后面会涉及到矩阵的除法。
2、矩阵的转置、逆运算及行列式运算
与线性代数中一样,矩阵的转置只需用符号“,”来表示即可。
例8.求矩阵B的转置 X=B' X=
8 3 4 1 5 9 6 7 2
线性代数中求矩阵逆的运算非常复杂,而在MATLAB中,矩阵的逆运算只需要函数“inv”来实现,这大大简化了计算过程。 例9.求矩阵A的逆 X=inv(A) X=
3 -3 1 -3 5 -2 1 -2 1
在MATLAB中,求矩阵的行列式大小,可用函数“det”实现。 例10.求矩阵A的行列式 X=det(A) X= 1
注: 在求矩阵的逆和行列式时,一定要求矩阵是一个方阵,否则会出错! 例如,>>X=inv(u) ??? Error using ==> inv Matrix must be square。 再如,X=det(u)
??? Error using ==> det Matrix must be square。 三、矩阵的常用函数运算
1.矩阵的特征值运算
在线性代数中,计算矩阵特征值及特征向量的过程相当麻烦,但在MATLAB中,矩阵特征值运算只需要函数“eig”或“eigs”即可。 例11.求矩阵A的特征值及特征向量 >>[b,c]=eig(A) b=
-0.38 -0.8165 0.1938 0.7812 -0.4082 0.4722 -0.3065 0.4082 0.8599 c=
0.1270 0 0 0 1.0000 0 0 0 7.8730 上例中的b、c矩阵分别为特征向量矩阵和特征值矩阵。 2.矩阵的秩运算
矩阵的秩在求解线性方程组中应用非常广泛,而在线性代数中计算矩阵的秩也非常复杂,但在MATLAB中,矩阵的秩只需要用函数“rank”即可。 例12.求矩阵A的秩 >>x=rank(A) x= 3
3.矩阵的正交化运算
在MATLAB中,矩阵的正交化运算可由函数“orth”计算得到。下面的例子用来求矩阵的一组正交基,有了正交基就可以对矩阵进行正交化了。 例13.求矩阵A的正交基 >>x=orth(A) x=
-0.1938 0.8165 0.38 -0.4722 0.4082 -0.7812 -0.8599 -0.4082 0.3065 4.矩阵的迹运算
矩阵的迹是指矩阵主对角线上所有元素的和,在MATLAB中,矩阵的迹可由函数“trace”计算得到。
例14.求矩阵A的迹 >>x=trace(A) x= 9 四、特殊矩阵的生成
MATLAB中提供了几个特殊矩阵,主要包括如下: 1.空矩阵
空矩阵用“[]”表示,空矩阵的大小为零,但变量名存在于工作空间中。 例15 >>[] ans= [] 2.单位矩阵
在MATLAB中,单位矩阵可用函数“eye(n,m)”实现,其中n表行数,m表列数。 例16 >>x=eye(4,3) x=
1 0 0 0 1 0 0 0 1
0 0 0 3.全部元素为1的矩阵
在MATLAB中,全部元素为1的矩阵可用函数“ones(n,m)”实现。 例17
>>x=ones(4,3) x=
1 1 1 1 1 1 1 1 1 1 1 1 4.全部元素为0的矩阵
在MATLAB中,全部元素为0的矩阵可用函数“zeros(n,m)”实现。 例18
>>x=zeros(4,3) x=
0 0 0 0 0 0 0 0 0 0 0 0 5.魔方矩阵
魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。MATLAB提供了求魔方矩阵的函数“magic(n)”,其功能是生成一个n阶魔方阵。 6.伴随矩阵
在MATLAB中,某个矩阵的伴随矩阵可用函数“compan(A)”实现。 例20
>>u=[1 0 -7 6];
>>x=compan(u) x=
0 7 -6 1 0 0 0 1 0
注: 函数compan()中的变量必须是向量形式,而不能是矩阵。 7.随机矩阵
随机矩阵在数理统计的研究中非常重要,它们表示元素服从某个分布如均匀分布、正态分布的矩阵。在MATLAB中,随机矩阵可用函数“rand(n,m)”实现。 例21
>>x=rand(4,3) x=
0.9501 0.13 0.8214 0.2311 0.7621 0.4447 0.6068 0.4565 0.61 0.4860 0.0185 0.7919 8.帕斯卡矩阵
我们知道,二次项展开后的系数随n的增大组成一个三角形表,称为
杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵,函数pascal(n)生成一个n阶帕斯卡矩阵。 例22
>>x=pascal(3) x=
1 1 1 1 2 3 1 3 6
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务