MATLAB入门-矩阵的运算
本篇文章为学习笔记,课程链接为:头歌
相关知识
常见的矩阵运算有算术运算、关系运算和逻辑运算。MATLAB中的所有变量都是以矩阵的形式存储的,单个变量就相当于一个1*1的矩阵。
算术运算
下面展示的是常见的矩阵之间的算术运算:
其中矩阵的除运算有两种情况:
- 当两个矩阵同维时:矩阵的除运算表示矩阵相应元素相除;
- 参与运算的矩阵有一个标量时:运算是标量和矩阵的每一个元素相除。左除和右除的关系为a./b=b.\a,其中a是被除数,b是除数。
其中矩阵的点幂运算有两种情况:
- 矩阵的标量乘方:A.^p,其中A为矩阵,p为标量,运算为矩阵每个元素的p次方,计算结果是与A同维的矩阵。
- 标量的矩阵乘方:p.^A表示以p为底,分别以A的元素为指数求幂值,计算结果是与A同维的矩阵。
关系运算
Matlab提供了6种关系运算符:
<、>、<=、>=、==、~=(不等于)
关系运算符的运算法则:
- 当两个标量进行比较时,直接比较两数大小。若关系成立,结果为1,否则为0。
- 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵。
- 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵。
逻辑运算
Matlab提供了3种逻辑运算符:
&(与)、|(或)、~(非)
逻辑运算符的运算法则:
- 在逻辑运算中,确认非零元素为真(1),零元素为假(0)。
- 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵;
- 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵;
- 算术运算优先级最高,逻辑运算优先级最低。
矩阵的转置及常见函数
矩阵的转置就是将矩阵按照列的顺序在行方向展开,在MATLAB里面,这一个操作用’
运算来实现,例如矩阵A
的转置为A’
。
几种矩阵常用的数据分析函数
- 求向量的最大值和最小值
一个向量X的最大值的函数有两种调用格式,分别是:
(1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值;
(2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。
求向量X的最小值的函数是min(X),用法和max(X)完全相同。 - 求矩阵的最大值和最小值
求矩阵A的最大值的函数有3种调用格式,分别是:
- max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;
- [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;
- max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
求最小值的函数是min,其用法和max完全相同。
- 求和与求积
1) sum(X):返回向量X各元素的和。
2) prod(X):返回向量X各元素的乘积。
3) sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。
4) prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。
5) sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。
6) prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。 - 平均值与中值
求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为:
1) mean(X):返回向量X的算术平均值。
2) median(X):返回向量X的中值。
3) mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。
4) median(A):返回一个行向量,其第i个元素是A的第i列的中值。
5) mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。
6) median(A,dim):当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。 - 求矩阵的维数大小
1) length(X):返回一个值,表示当前矩阵的长度,也就是当前矩阵的最大维数。
2) size(X):返回当前矩阵的维数,如果是二维矩阵,返回两个数[m,n],分别是矩阵的行数和列数,如果是一位矩阵,返回一个数d,表示矩阵的元素个数。
课堂小练
本关任务是对给定的3个学生的三门成绩进行加权平均,算出学分绩,并且输出学分绩最高的同学的编号及学分绩。
- 所谓的学分绩就是将给定的所有门成绩,各自乘上对应的学分,再除以总的学分。例如1号同学的三门成绩分别为90、80和70,三门课程的学分分别为3、2、4,那么学分绩的计算公式为 (90x3+80x2+70x4)/(3+2+4)= 78.89,这就是该同学的学分绩。