精华内容
下载资源
问答
  • python 向量之间的运算

    千次阅读 2015-03-28 16:38:00
    向量转置 http://stackoverflow.com/questions/5954603/python-numpy-transpose 转载于:https://www.cnblogs.com/hope100/p/4374421.html

    向量转置

    http://stackoverflow.com/questions/5954603/python-numpy-transpose

    转载于:https://www.cnblogs.com/hope100/p/4374421.html

    展开全文
  • 本文介绍了向量的定义、向量的模、负向量、单位向量、零向量以及向量减法的三种实现方法。

    ☞ ░ 老猿Python博文目录

    一、向量

    1.1、向量定义

    向量也称为欧几里得向量、几何向量、矢量,指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的量叫做数量(物理学中称标量),数量(或标量)只有大小,没有方向。

    1. 在物理学和工程学中,几何向量更常被称为矢量。
    2. 一般印刷用黑体的小写英文字母(a、b、c等)来表示,手写用在a、b、c等字母上加一箭头(→)表示,如 :
      在这里插入图片描述
      也可以用大写字母AB、CD上加一箭头(→)等表示。但由于输入法不支持,本文后面的向量表示就不输箭头,如直接叫向量a、b、c。

    定义
    n个有顺序的数a1,a2,…,an组成的数组:
    a=(a1,a2,…,an)
    叫做n维向量,a1,a2,…,an叫做a的分量,ai叫做a的第i个分量。分量都是0的向量叫零向量

    两个向量相等当且仅当它们分量数量相同,且各分量都相等。

    1.2、向量的模和范数

    向量的模就是向量的大小,也就是向量的长度,表示符号为在向量两侧各加一竖线,如向量AB记作:
    在这里插入图片描述
    为了输入方便,以后老猿记为|向量AB|

    对于二维平面向量(x,y),其模长即为原点到该点的距离,大小为:
    在这里插入图片描述
    对于三维立体空间的向量(x,y,z),其模长为:
    在这里插入图片描述
    对于n维空间向量x(V1,V2,…,Vn),其模长为:
    在这里插入图片描述

    模是绝对值在二维和三维空间的推广,可以认为就是向量的长度。推广到高维空间中称为范数。

    范数,是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。

    1.3、向量的属性及自由向量

    • 向量规定了方向和大小,常用一条有向线段来表示,有向线段的长度表示向量的大小,箭头所指的方向表示向量的方向。
    • 长度相等且方向相同的向量叫做相等向量,向量a与b相等,记作a=b。 零向量与零向量相等。
    • 当用有向线段表示向量时,起点可以任意选取。任意两个相等的非零向量,都可用同一条有向线段来表示,并且与有向线段的起点无关.同向且等长的有向线段都表示相同向量。
    • 一个向量只要不改变它的大小和方向,它的起点和终点可以任意平行移动的向量,叫做自由向量。自由向量可以平移至空间任意点,这样一来,若已知向量的大小和方向,则向量就算给出。例如物体运动时的速度和加速度就是自由向量,在数学中把自由向量,简称为向量。数学中只研究自由向量。
    • 因为方向不能比较大小,所以向量也就不能比较大小。对于向量来说“大于”和“小于”的概念是没有意义的。

    1.4、单位向量

    长度为一个单位(即模为1)的向量,叫做单位向量。与a同向,且长度为单位1的向量,叫做a方向上的单位向量。一个非零向量除以它的模,可得所需单位向量。记作:
    在这里插入图片描述

    关于等式右边的含义,请参考下节关于向量点积的介绍:《https://blog.csdn.net/LaoYuanPython/article/details/112411742 人工智能数学基础-线性代数2:向量的点积、內积、数量积和外积》。

    1.5、负向量

    如果向量AB与向量CD的模相等且方向相反,那么我们把向量AB叫做向量CD的负向量,也称为相反向量。

    1.6、零向量

    长度为0的向量叫做零向量,记作0。零向量的始点和终点重合,所以零向量没有确定的方向,或说零向量的方向是任意的。

    规定:所有的零向量都相等。

    1.7、固定向量

    固定向量也叫做胶着向量。在数学上指的是确定方向与大小、以及起点位置的向量。力学中的作用力就是固定向量。数学上不研究固定向量,只研究自由向量。

    1.8、滑动向量

    凡有大小及方向且需沿某一特定直线作用之向量,称之为滑动向量。

    滑动向量的起点在空间内固定的一条直线上,而固定向量是起点位置固定,而自由向量则什么都没有固定。

    1.9、位置向量

    对于坐标平面(原点O)内的任意一点P,我们把向量OP叫做点P的位置向量,记作:向量P。

    1.10、方向向量

    方向向量(direction vector)是一个数学概念,空间直线的方向用一个与该直线平行的非零向量来表示,该向量称为这条直线的一个方向向量。

    1.11、平行向量、共线向量

    方向相同或相反的非零向量叫做平行(或共线)向量。向量a、b平行(共线),记作a∥b。零向量长度为零,是起点与终点重合的向量,其方向不确定。我们规定:零向量与任一向量平行。平行于同一直线的一组向量是共线向量。

    1.12、 两向量共线

    两平行向量 a与 b,可以平移至同一条与它们平行的直线上,故称此二向量a与b共线,也称向量a与b线性相关,否则,即 a不平行于b 时,称a与b线性无关。

    1.13、共面向量

    平行于同一平面的三个(或多于三个)向量叫做共面向量。
    空间中的向量有且只有以下两种位置关系:⑴共面;⑵不共面。
    注意:只有三个或三个以上向量才谈共面不共面。

    1.14、法向量

    法向量,是空间解析几何的一个概念,垂直于平面的直线所表示的向量为该平面的法向量。法向量适用于解析几何。由于空间内有无数个直线垂直于已知平面,因此一个平面都存在无数个法向量(包括两个单位法向量)。

    二、向量的加减法

    向量的加法、减法以及向量与数的乘法都称为向量的线性运算

    向量是将几何问题转化为代数问题的桥梁,向量的加减则是用代数方法进行几何运算。向量的加减法有几种方法。

    2.1、分量加减法

    向量的加减法就是对向量各个分量进行加减,假设有向量A(a1,a2,…,an)、向量B(b1,b2,…,bn),则:

    向量A+向量B = (a1+b1,a2+b2,...,an+bn) 
    向量A-向量B = (a1-b1,a2-b2,...,an-bn)
    

    2.2、头尾相接法(三角形定则)

    对n维空间的向量A1、A2、…、An,各向量在n维空间表现为一原点到对应向量点的有向线段,起点为原点,终点为向量对应坐标点。当A1、A2、…、An各向量按顺序相加时,A1对应线段保持位置不变,其他向量对应线段的长度和方向保持不变,但将平移到其起点与前一向量线段的终点重合,如此将所有相加的向量首尾相接,最后构成的图形中,原点到最后一个向量终点的线段即为所有向量相加的结果。

    如果是二维空间,则向量A1+向量A2+向量A3的过程及结果如下图左边:
    在这里插入图片描述

    如果只有两个向量相加,则两个相加的向量和最终的结果向量构成一个三角形,如上图右边。因此这种方法又叫三角形定则。当超出三个的多个向量相加时,可以采用先将第一个和第二个向量相加得到的结果再与第三个向量相加,然后其结果再与第四个向量相加,…,以此类推,直到获得最后的结果。

    以上方法,似乎只能用于求向量和,无法求向量差,其实向量减法也可以通过上述方法进行,将减去某个向量看成加上某个负向量,负向量与原向量的线段相同,只是箭头方向相反,即起点和终点相反,下图是 向量A1+向量A2向量A1-向量A2 三角形定则法计算过程及结果图:
    在这里插入图片描述

    2.3、平行四边形定则

    平行四边形定则只适用于两个非零非共线向量的加减。

    平行四边形定则解决向量加法的方法:将两个向量平移至公共起点,以向量的两条边作平行四边形,结果为公共起点的对角线。下图为两个向量相加的三角形定则和平行四边形定则的对比,可以看到结果相同。
    在这里插入图片描述

    平行四边形定则解决向量减法的方法:将两个向量平移至公共起点,以向量的两条边作平行四边形,结果由减向量的终点指向被减向量的终点。下图为向量加减法的三角形定则法和平行四边形定则法的运算过程及结果对比:
    在这里插入图片描述
    当将以上两个图中右边图形的线条改成虚线,将二者原点重合,可以得到如下图:
    在这里插入图片描述
    可以看到两种方法得到的加法结果向量完全重叠,而减法向量为平行四边形的对边,只是起点不同。

    三、向量数乘

    3.1、定义

    数乘向量(scalar multiplication of vectors)是与一个实数和一个向量有关的一种向量运算,即数量与向量的乘法运算。n个相等的非零向量a相加所得的和向量,叫作正整数n与向量a的积,记为na。

    数乘向量的定义:一个数m乘一个向量a,结果是一个向量ma,称为数乘向量的积,其模是|m||a|,当m>0时,ma与a同向,当m<0时,ma与a反向,当m=0时,0a=0。

    这个定义可以形象地理解为,把向量a伸缩|m|倍,再由m的符号确定是否调向。

    3.2、相关规则

    • 向量的数乘实际上是加法的乘法表示,因此向量数乘m等于向量的各分量都乘以m
    • 对于任意向量a、b和任意实数λ,μ,有如下规则:
    1. 结合律:λ(μa) = (λμ)a
    2. 第一分配律:(λ+μ)a=λa+μa
    3. 第二分配律:λ(a+b)=λa+λb。

    四、小结

    本文介绍了向量的定义、向量的模、负向量、单位向量、零向量以及向量加减法的三种实现方法。

    参考资料:

    百度百科向量介绍

    写博不易,敬请支持:

    如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

    更多人工智能数学基础的介绍请参考专栏《人工智能数学基础 》
    专栏网址https://blog.csdn.net/laoyuanpython/category_10382948.html

    关于老猿的付费专栏

    1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
    2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
    3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》。

    前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

    对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

    如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

    跟老猿学Python!

    ☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython

    展开全文
  • numpy对向量的加法有自动扩充的功能 https://blog.csdn.net/Amy_mm/article/details/89299376

    numpy对向量的加法有自动扩充的功能
    https://blog.csdn.net/Amy_mm/article/details/89299376
    numpy sum函数中keepdims参数的意义,保持矩阵维度不变
    https://www.cnblogs.com/marsggbo/p/9857850.html
    numpy dot函数理解
    https://www.cnblogs.com/luhuan/p/7925790.html
    numpy split函数
    https://blog.csdn.net/miaoyanmm/article/details/80188994

    展开全文
  • Python 设计一个向量类,实现数据的输入、输出、向量的加法、减法、点积、夹角等计算 练习题 2018.10.25 import math class Vectors: def __init__(self): self.x1=0 self.x2=0 self.y1=0 self.y2=0 self....

    Python 设计一个向量类,实现数据的输入、输出、向量的加法、减法、点积、夹角等计算

    练习题

    2018.10.25

    import math
    class Vectors:
        def __init__(self):
            self.x1=0
            self.x2=0
            self.y1=0
            self.y2=0
            self.x=self.x2-self.x1
            self.y=self.y2-self.y1
        def add(self):
            self.x1=int(input("input x1 "))
            self.y1=int(input("input y1 "))
            self.x2=int(input("input x2 "))
            self.y2=int(input("input y2 "))
            self.x=self.x2-self.x1
            self.y=self.y2-self.y1
        def out(self):
            print(self.x,self.y)
        def plus(self,a,b):
            self.x=a.x+b.x
            self.y=a.y+b.y
        def sub(self,a,b):
            self.x=a.x-b.x
            self.y=a.y-b.y
        def pointmuti(self,a,b):
            return (a.x*b.x+a.y+b.y)
        def angle(self,a,b):
            a1=(a.x*a.x+a.y*a.y)**0.5
            b1=(b.x*b.x+b.y*b.y)**0.5
            ab=a.x*b.x+a.y+b.y
            return ab//(a1*b1)
    
    v=Vectors()
    a=Vectors()
    b=Vectors()
    a.add()
    b.add()
    a.out()
    b.out()
    v.plus(a,b)
    v.out()
    v.sub(a,b)
    v.out()
    print(v.pointmuti(a,b))
    print(math.acos(v.angle(a,b)))
    

     

    展开全文
  • 由于python自带的包没有向量这个概念,我们需要自己定义一个向量的类,然后利用这个类进行向量的相关计算。 下面附上相关的程序: from math import acos,pi from math import sqrt from decimal import Decimal,...
  • 演示了Python创建类的方法,定义了基本的四则运算函数,并利用unittest单元测试模块进行验证。
  • python实现向量的各种计算方法

    万次阅读 2018-03-14 19:06:07
     # 减法  def minus(self,v):  return Vector([x - y for x,y in zip(self.coordinates,v.coordinates)])  # 向量的倍数  def times_scalar(self,m):  return Vector([Decimal(m)*x for x in self.coordinates...
  • Python脚本语言中如何实现三维向量的加减,点乘,叉乘的运算呢? 本例子将给大家介绍在类中调用函数的方法解决这个问题
  • Python中的向量、矩阵(numpy)

    万次阅读 2018-07-23 14:51:50
    1、向量、矩阵表示: numpy的向量表示是通过array数组来实现的 一维向量(行、列): 在numpy中一维向量用一位数组array([1, 1, 1])表示,既能表示行向量也能表示列向量,一维向量转置后还是原来的样子(因为存储...
  • Python 数值计算 —— 向量、矩阵和多维数组 NumPy 是 Python 进行数值计算的核心库。在这里,我们介绍了 NumPy 的 n 维数组数据结构:ndarray 对象,并且讨论用于创建和操作数组的函数,包括从数组中提取元素的...
  • 实现三维向量之间的加法与减法

    千次阅读 2020-06-07 16:52:58
    实现三维向量之间的加法与减法的功能。 ####相关知识 在 Python 面向对象编程中,类的特殊方法在形式上是前后各有 2 个下划线,作用是实现与某个运算符或内置函数的对应关系。例如,如果某个类实现了__len__()这个...
  • python 机器学习 SVM 线性可分
  • 我们先考虑二维的向量向量的表示和坐标很像,(10,20)对坐标而言,就是一个固定的点,然而在向量中,它意味着x方向行进10,y方向行进20,所以坐标(0,0)加上向量(10,20)后,就到达了点(10,20)。向量可以通过两个点来...
  • Python 3.4.2代码如下 class Vecter3:def __init__(self, x=0, y=0, z=0):self.X = xself.Y = yself.Z = zdef __add__(self, n):r = Vecter3()r.X = self.X + n.Xr.Y = self.Y + n.Yr.Z = self.Z + n.Zreturn rdef _...
  • Python语音基础操作--5.2谱减法

    千次阅读 2020-05-30 14:04:13
    减法 对于任何一帧信号xi(m)x_i(m)xi​(m)做FFT变换后: Xi(k)=∑m=1Nxi(m)exp⁡(j2πmkN)X_i(k)=\sum_{m=1}^Nx_i(m)\exp(j\frac{2\pi mk}{N})Xi​(k)=m=1∑N​xi​(m)exp(jN2πmk​) 对于Xi(k)X_i(k)Xi​(k)的...
  • Python:用Numpy来实现向量的各种运算

    万次阅读 2015-04-12 20:01:08
    首先要写上这一句: ...(1) 定义一个零向量(4维): >>>a=zeros(4) >>>a array([0.,0.,0.,0.]) 定义一个List: b=[1,2,3,4] (2)向量可直接与List相加: >>>c=a+b >>>c array([1.,2.,3.,4.]) (3
  • 1. 什么是向量? 数学概念嘛,在不同的应用场景下意义是不大一样的,比如说对于机械或者物理的同学,向量是有长度有方向的一个指向空间的带箭头的线段,而对于从事计算机工作的我们来说,向量的定义可以是非常简单...
  • numpy 生成矩阵 numpy中可以直接使用matrix生成矩阵 X1 = np.matrix([[1,2,3]]) X2 = np.matrix([[1,2,3,4]]).T 2....(1)如果矩阵是相同维度的,就直接相... 一个是行向量一个是列向量 b.一个多维矩阵,一个一维矩...
  • 有很多改进版的word2vec,但是目前还是word2vec最流行,但是Glove也有很多在提及,笔者在自己实验的时候,...高级词向量三部曲:1、NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python实现、相关应用)
  • 《利用Python进行数据分析》第四章介绍了numpy的基础应用,其中它在数组上的应用使我印象很深刻,并且在数据分析中应用很广泛。 目录 1.多维数组对象 2.快速的逐元素数组函数 3.使用数组进行面向数组编程 4.使用数组...
  • 定义三维向量Vector类,定义其三个分量为x,y,z,x,y,z为私有成员变量,并实现向量的加法(+)、减法(-)以及向量与标量的乘法()和除法(/)运算,如:向量A=(1,2,3),B=(4,5,6),标量k=2,计算向量A+B,A-B及Ak,并...
  • 博主重新拿起10年前本科、研究生学习的课程,结合自己多年的人工智能实战经验与python编程技巧,给大家重点从三大数学知识进行讲解,紧扣数学知识与AI实战的关系,实现数学原理到机器学习、深度学习开发的完美过渡,...
  • pandas 中上下两行相减(隔行相减) -- shift函数的使用 最近使用pandas处理数据,需求是想相邻两行上下相减,查API发现shift函数,很灵活,。你也可以隔任意行相减。 p['xx_1'] = p["xx"...
  • 向量减法的计算规则就是将两个向量对应维度的值相减。假定 , ​​​​​​​ ,则向量的减法运算如下: 仍然使用上节中的例子中的向量a 和向量b : , ​​​​​​​,则: 减法计算的图示如图6-1所示。...
  • 2.4向量基本运算 向量加法,最终结果是(7, 7) 数量乘法 2.5 基础操作实现 class Vector : def __init__ ( self , lst ) : self . _values = list ( lst ) def __repr__ ( ...
  • 07 Python之Numpy库

    2019-04-17 09:18:24
    Numpy是高性能科学计算和数据分析的基础包,是Python在科学计算领域使用最广的一个包。 1 ndarray数组基础 Python中用列表保存一组值,可将列表当成是数组使用。此外,Python有array模块,但它不支持多维数组,无论...
  • 一、数据结构和序列1.1、元组:有一种固定长度,不可修改的python对象序列tup = 1,2,3 tup : (1,2,3) tup = tuple([4,0,2]) tup : (4,0,2) tup[0] = 4 元组添加元素:tup = (["foo",[1,2],True]) tup[1].append(3) ...
  • python_sound_open 《语音信号处理试验教程》(梁...Python语音基础操作--12.3基于支持向量机SVM的语音情感识别 Python语音基础操作--12.4基于LDA,PCA的语音情感识别 Ref 《语音信号处理试验教程》(梁瑞宇等)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,108
精华内容 843
关键字:

python向量减法

python 订阅