MATLAB基本矩阵运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Basic Matrix Operations
一、实验目的
1、掌握向量和矩阵的创建方法;
2、掌握向量和矩阵元素的索引方法;
3、掌握向量和矩阵的基本操作;
4、利用MATLAB编写程序进行矩阵运算。
二、基础知识
1、常见数学函数
函数名数学计算功能函数名数学计算功能
Abs(x) 实数的绝对值或复数的幅值floor(x) 对x朝-∞方向取整
Acos(x) 反余弦arcsin x gcd(m,n)求正整数m和n的最大公约数
acosh(x) 反双曲余弦arccosh x imag(x) 求复数x的虚部
angle(x) 在四象限内求复数 x 的相角lcm(m,n) 求正整数m和n的最小公倍数
asin(x) 反正弦arcsin x log(x) 自然对数(以e为底数)
asinh(x) 反双曲正弦arcsinh x log10(x) 常用对数(以10为底数)
atan(x) 反正切arctan x real(x) 求复数x的实部
atan2(x,y) 在四象限内求反正切Rem(m,n) 求正整数m和n的m/n之余数
atanh(x) 反双曲正切arctanh x round(x) 对x四舍五入到最接近的整数
ceil(x) 对x朝+∞方向取整sign(x) 符号函数:求出x的符号
conj(x) 求复数x的共轭复数sin(x) 正弦sin x
cos(x) 余弦cos x sinh(x) 反双曲正弦sinh x
cosh(x) 双曲余弦cosh x sqrt(x) 求实数x的平方根:x
exp(x) 指数函数xe tan(x) 正切tan x
fix(x) 对x朝原点方向取整tanh(x) 双曲正切tanh x
2、常量与变量
系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:
特殊的变量、常量取值
ans 用于结果的缺省变量名
pi 圆周率π的近似值(3.1416)
eps 数学中无穷小(epsilon)的近似值(2.2204e - 016)
inf 无穷大,如 1/0 = inf (infinity)
NaN 非数,如 0/0 = NaN (Not a Number),inf / inf = NaN
i,j 虚数单位:i = j =1−
数值型向量(矩阵)的输入
①任何矩阵(向量),可以直接按行方式……输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号([ ])内;
例1:
>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]
>> X_Data = [2.32 3.43;4.37 5.98]
②系统中提供了多个命令用于输入特殊的矩阵:
函数功能函数功能
compan 伴随阵toeplitz Toeplitz矩阵
diag 对角阵vander Vandermonde矩阵
hadamard Hadamard矩阵zeros 元素全为0的矩阵
hankel Hankel矩阵ones 元素全为1的矩阵
invhilb Hilbert矩阵的逆阵 rand 元素服从均匀分布的随机矩阵
kron Kronercker张量积randn 元素服从正态分布的随机矩阵
magic 魔方矩阵eye 对角线上元素为1的矩阵
pascal Pascal矩阵meshgrid 由两个向量生成的矩阵
上面函数的具体用法,可以用帮助命令help得到。如:meshgrid(x,y)
输入 x=[1 2 3 4]; y=[1 0 5]; [X,Y]=meshgrid(x, y),则
X = Y =
1 2 3 4 1 1 1 1
1 2 3 4 0 0 0 0
1 2 3 4 5 5 5 5
目的是将原始数据x,y转化为矩阵数据X,Y。
3、数组(矩阵)的点运算
运算符:+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),
例3:
>> g = [1 2 3 4];h = [4 3 2 1];
>> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^h
4、矩阵的运算
运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;
常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)
例4:
>> A= [2 0 –1; 1 3 2]; B= [1 7 –1; 4 2 3; 2 0 1];
>> M = A*B % 矩阵A与B按矩阵运算相乘
M =
0 14 -3
17 13 10
>> det_B = det(B) % 矩阵A的行列式
det_B =
20
>> rank_A = rank(A) % 矩阵A的秩
rank_A =
2
>> inv_B = inv(B) % 矩阵B的逆矩阵
inv_B =
0.1000 -0.3500 1.1500
0.1000 0.1500 -0.3500
-0.2000 0.7000 -1.3000
>> [V,D] = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D =
7.2680 0 0
0 -1.6340 + 0.2861i 0
0 0 -1.6340 - 0.2861i
>> X = A/B % A/B = A*B-1,即XB=A,求X
0.4000 -1.4000 3.6000
0.0000 1.5000 -2.5000
>> Y = B\A % B\A = B-1*A,即BY=A,求Y
三、实验内容
1、练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过。
2、键入常数矩阵输入命令:
a = [1 2 3] 与 a = [1;2;3]
记录结果,比较显示结果有何不同;
b = [1 2 5] 与 b = [1 2 5];
记录结果,比较显示结果有何不同;
a a’
b b’
记录结果,比较变量加“’”后的区别;
c = a * b 1 2 5
2 4 10
3 6 15
c = a* b’
记录显示结果与出错原因;
a = [1 2 3; 4 5 6; 7 8 0],求a^2
a^0.5
。30 36 15
66 81 42