详解 n 维向量、n 维数组 和 矩阵的维度

1. 概述

在机器学习过程中,我们会经常遇到向量、数组和矩阵这三种数据结构,下面就这三种数据结构做一次详细的分析。
同时我们时常困惑于维度,n维向量,n维数组,矩阵的维度,本文着重就这一方面进行分析。

2. 向量、数组和矩阵
2.1 向量

在解析几何中,我们把“既有大小又有方向的量”叫做向量,并把可随意平行移动的有向线段作为向量的几何形象。

在引进坐标系以后,这种向量就有了坐标表示式— — n个有次序的实数,也就是n维向量。因此,当 n ≤ 3 时,n维向量可以把有向线段作为几何形象,但当n>3 时,n 维向量就不再有这种几何形象,只是沿用一些几何术语罢了。

几何中,“空间”通常是作为点的集合,即构成“空间”的元素是点,这样的空间叫做点空间。我们把3 维向量的全体所组成的集合
在这里插入图片描述
叫做3 维向量空间。在点空间取定坐标系以后,空间中的点P(x,y,z)与3 维向量 r =(x,y,z)T 之间有一一对应的关系,因此,向量空间可以类比为取定了坐标系的点空间。在讨论向量的运算时,我们把向量看作有向线段;在讨论向量集时,则把向量r 看作以r 为向径的点P,从而把点P 的轨迹作为向量集的图形

在同济大学线性代数第六版中,有这样一句话,矩阵的列向量组和行向量组都是只含有限个向量的向量组;反之,一个含有限个向量的向量组总可以构成一个矩阵。因此我们可以推断,列向量是可以多维的,但是它的深度只能是一维(这里的深度是相对于矩阵和数组而言的,而这里的维度是指的空间的维度,这是两个不同的概念)。

2.2 数组

所谓数组,是有序的元素序列。
这里的概念就没有涉及到空间了,我们通常称的n维数组,这里的维度指的不是空间的维度,而是数据所构成的维度;
下面进行举例说明,

  1. 一维数组
    [1, 2, 3, 4]
    这里的数据的维度就只有一维,也就是深度为1,怎么理解呢,比如你要取2,你要怎么做呢,只需要进入第一层,这时候你会找到1,2,3,4这四个元素,直接就能找到2这个元素。
  2. 二维数组
    [[1, 2],[3, 4]]
    这里的数据的维度就就有二维,也就是深度为2,怎么理解呢,比如你要取2,你要怎么做呢,首先你要进入进入第一层,这时候你找到的是[1, 2] 和 [3, 4],然后你还得继续往下找,再进入一层,你会找到 1,2,3,4这四个元素,然后找到2这个元素,也就是你进入了两层才找到元素,所以深度为2,维度为二维。
  3. 三维数组
    [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
    这里的数据的维度就就有三维,也就是深度为3,怎么理解呢,比如你要取2,你要怎么做呢,首先你要进入进入第一层,这时候你找到的是[[1, 2], [3, 4]] 、 [[5, 6], [7, 8]] ,然后你还得继续往下找,再进入一层,你会找到 [1, 2]、[3, 4]、[5, 6]、 [7, 8] ,然后你还得继续往下找,再进入一层,1、2、3、4、5、6、7、8这8个元素,然后找到2这个元素,也就是你进入了三层才找到元素,所以深度为3,维度为三维。
2.3 矩阵

在同济大学线性代数第六版中,矩阵定义如下:由m×n 个数aij (i= 1,2,…,m;j= 1,2,…,n)排成的m 行n 列的数表
在这里插入图片描述
称为m 行n 列矩阵,简称m×n 矩。

同时如2.1所述,矩阵的列向量组和行向量组都是只含有限个向量的向量组;反之,一个含有限个向量的向量组总可以构成一个矩阵。因此可知向量可以组成矩阵,矩阵是包含向量的。
顺便说一下,2.2中的二维数组,可以转化为矩阵,但不等同于矩阵。

注意:我们通常会说矩阵的维度,这里的维度也不是指的空间,而是指矩阵的行数。

  • 71
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
矩阵运算是一种广泛应用于数值计算和科学计算的运算方式,能够高效、准确地处理大量数据。Matlab作为一种专业的数学软件,提供了丰富的矩阵运算功能,下面将对常见的矩阵运算进行详细解释。 1. 矩阵乘法 矩阵乘法是矩阵运算中最基础的运算,它的实现方法是将一个矩阵的每一行与另一个矩阵的每一列进行内积运算,并将结果相加。在Matlab中,可以使用“*”运算符来进行矩阵乘法。 例如,对于两个矩阵A和B,它们的矩阵乘积C可以表示为: C = A * B 需要注意的是,矩阵乘法要求左边矩阵的列数与右边矩阵的行数相等,否则无法进行乘法运算。 2. 矩阵加法和减法 矩阵加法和减法是通过对应元素的加减来实现的。在Matlab中,可以使用“+”和“-”运算符来进行矩阵加法和减法。 例如,对于两个矩阵A和B,它们的矩阵加法和减法分别表示为: C = A + B D = A - B 需要注意的是,两个矩阵进行加减法的前提条件是它们的维度相同。 3. 矩阵转置 矩阵转置是将矩阵的行列互换的操作,可以使用“'”运算符来进行矩阵转置。 例如,对于一个矩阵A,它的转置矩阵表示为: B = A' 需要注意的是,矩阵转置不改变矩阵的元素值,只是改变了它们的排列顺序。 4. 矩阵求逆 矩阵求逆是指对于一个可逆矩阵,求出其逆矩阵的过程。在Matlab中,可以使用“inv”函数来求矩阵的逆。 例如,对于一个可逆矩阵A,它的逆矩阵表示为: B = inv(A) 需要注意的是,非可逆矩阵没有逆矩阵。 5. 矩阵求行列式 矩阵行列式是一个数值,它可以用来判断矩阵是否可逆。在Matlab中,可以使用“det”函数来求矩阵的行列式。 例如,对于一个矩阵A,它的行列式表示为: d = det(A) 需要注意的是,行列式为0的矩阵是不可逆的。 6. 矩阵求特征值和特征向量 矩阵的特征值和特征向量矩阵在线性变换下的重要性质,在许多数学问题中都有广泛的应用。在Matlab中,可以使用“eig”函数来求矩阵的特征值和特征向量。 例如,对于一个矩阵A,它的特征值和特征向量分别表示为: [V,D] = eig(A) 其中,V为特征向量矩阵,D为特征值矩阵。 以上是Matlab中常见的矩阵运算,它们在数值计算、科学计算、数据分析等领域中都有广泛的应用。需要注意的是,在进行矩阵运算时,要特别关注矩阵维度和性质,以确保运算的正确性和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangpaopao0609

看星空看日落不如看我的眼眸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值