MATLAB入门-矩阵的运算

MATLAB入门-矩阵的运算

本篇文章为学习笔记,课程链接为:头歌

相关知识

常见的矩阵运算有算术运算、关系运算和逻辑运算。MATLAB中的所有变量都是以矩阵的形式存储的,单个变量就相当于一个1*1的矩阵。

算术运算

下面展示的是常见的矩阵之间的算术运算:
MATLAB入门-矩阵的运算_第1张图片
其中矩阵的除运算有两种情况:

  1. 当两个矩阵同维时:矩阵的除运算表示矩阵相应元素相除;
  2. 参与运算的矩阵有一个标量时:运算是标量和矩阵的每一个元素相除。左除和右除的关系为a./b=b.\a,其中a是被除数,b是除数。

其中矩阵的点幂运算有两种情况:

  1. 矩阵的标量乘方:A.^p,其中A为矩阵,p为标量,运算为矩阵每个元素的p次方,计算结果是与A同维的矩阵。
  2. 标量的矩阵乘方:p.^A表示以p为底,分别以A的元素为指数求幂值,计算结果是与A同维的矩阵。

关系运算

Matlab提供了6种关系运算符:
<、>、<=、>=、==、~=(不等于)
关系运算符的运算法则:

  1. 当两个标量进行比较时,直接比较两数大小。若关系成立,结果为1,否则为0。
  2. 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵。
  3. 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵。

逻辑运算

Matlab提供了3种逻辑运算符:
&(与)、|(或)、~(非)
逻辑运算符的运算法则:

  1. 在逻辑运算中,确认非零元素为真(1),零元素为假(0)。
  2. 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵;
  3. 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵;
  4. 算术运算优先级最高,逻辑运算优先级最低。

矩阵的转置及常见函数

矩阵的转置就是将矩阵按照列的顺序在行方向展开,在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种调用格式,分别是:
  1. max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;
  2. [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;
  3. 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,这就是该同学的学分绩。
    MATLAB入门-矩阵的运算_第2张图片

你可能感兴趣的:(matlab,矩阵,开发语言)