数学和编程中的向量之间的差异

van*_*eto 11 math vector

也许这个问题更适合网站的数学部分,但我想stackoverflow也适合.在数学中,向量具有位置和方向,但在编程中,向量通常定义为:

Vector v (3, 1, 5);
Run Code Online (Sandbox Code Playgroud)

方向和幅度在哪里?对我来说,这是一个观点,而不是一个向量...那么是什么给出了?可能我没有得到一些东西,如果有人能向我解释这一点,我将非常感激.

abc*_*bcd 9

如果我们在笛卡尔坐标中工作,并假设(0,0,0)它是原点,则p=(3,1,5)可以将一个点写成

在此输入图像描述

其中i,jk是在的单位向量x,y以及z方向.为方便起见,从编程结构中删除单位向量.

矢量的大小是

在此输入图像描述

它的方向是余弦

在此输入图像描述

两者都可以通过编程方式完成.你也可以采用点产品和交叉产品,我相信你知道.因此编程和数学之间的用法是一致的.符号的差异主要是因为方便.

然而正如Tomas指出的那样,在编程中,定义一个字符串或对象的向量也很常见,它实际上没有数学意义.您可以将此类向量视为一维数组或可通过索引轻松访问或操作的项列表.


Tom*_*han 6

在数学中,很容易通过一个点来表示一个向量 - 只要说向量的"基数"就是隐含的原点.因此,数学点所有的实际目的还数学向量的表示,并在实施例的矢量具有幅度的sqrt(3 ^ 2 + 1 ^ 2 + 5 ^ 2)= 6和方向(1/2 ,1/6,5/6)(来自原点的归一化矢量).

但是,编程中的矢量通常没有几何用途,这意味着你真的对幅度或方向等事物不感兴趣.编程中的向量只是一个有序的项目列表.这里重要的是项目不一定是数字 - 它可以是由有问题的语言处理的任何东西!因此,("Hello", "little", "world")它也是编程中的向量,尽管它(显然)在数学意义上没有向量解释.