所以我有一个 n x d
矩阵和一个 n x 1
向量。我正在尝试编写代码以向量减去矩阵中的每一行。
我目前有一个 for
循环遍历该循环,并 i
通过向量减去矩阵中的-th行。 有没有一种方法可以通过向量简单地减去整个矩阵?
谢谢!
当前代码:
for i in xrange( len( X1 ) ):
X[i,:] = X1[i,:] - X2
这是 X1
矩阵的 i
第-行, X2
是向量。我可以这样做,这样就不需要 for
循环了吗?
在作品numpy
,但 只有当轴的联动轴具有相同的尺寸 。这是从矩阵成功减去向量的示例:
In [27]: print m; m.shape
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
Out[27]: (4, 3)
In [28]: print v; v.shape
[0 1 2]
Out[28]: (3,)
In [29]: m - v
Out[29]:
array([[0, 0, 0],
[3, 3, 3],
[6, 6, 6],
[9, 9, 9]])
之所以可行,是因为两者的尾轴具有相同的尺寸(3)。
在您的情况下,引导轴具有相同的尺寸。这是使用与v
上面相同的示例,说明如何解决该问题:
In [35]: print m; m.shape
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Out[35]: (3, 4)
In [36]: (m.transpose() - v).transpose()
Out[36]:
array([[0, 1, 2, 3],
[3, 4, 5, 6],
[6, 7, 8, 9]])
此处将详细解释广播轴的规则。
本文向大家介绍Numpy之将矩阵拉成向量的实例,包括了Numpy之将矩阵拉成向量的实例的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码吧! 以上这篇Numpy之将矩阵拉成向量的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
问题内容: 是否可以从函数构造矩阵?在这种情况下,该函数特别是两个向量的绝对差:。一个使用常规python的最小工作示例: 给予: 有一个看起来像这样的构造会很好: 我可以在其中传递带有参数的输入函数,并保留numpy的速度优势。 问题答案: 我建议看看numpy的广播功能: http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html
问题内容: 我有一个像这样的numpy数组 我想创建一个看起来像这样的数组: 从而,每行对应于通过行索引+1移位的行。 一个简单的实现可能看起来像这样: 这给了我想要的输出。 我的问题是,是否有更聪明的方法可以避免循环。 问题答案: 这是一种方法,该方法主要使用剩余元素填充,然后帮助我们非常有效地创建转换后的版本- 样品运行- 运行时测试- 制作副本(如果您想进行更改,而不仅仅是用作只读数组),对
主要内容:逐元素矩阵乘法,矩阵乘积运算,矩阵点积矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵,如下图所示: 注意:必须确保第一个矩阵中的行数等于第二个矩阵中的列数,否则不能进行矩阵乘法运算。 图1:矩阵乘法 矩阵乘法运算被称为向量化操作,向量化的主要目的是减少使用的 for 循环次数或者根本不使用。这样做的目的是为了加速程序的计算。 下面介绍 NumPy 提供的三种矩阵乘法,从而进一步
主要内容:matlib.empty(),numpy.matlib.zeros(),numpy.matlib.ones(),numpy.matlib.eye(),numpy.matlib.identity(),numpy.matlib.rand()NumPy 提供了一个 矩阵库模块 ,该模块中的函数返回的是一个 matrix 对象,而非 ndarray 对象。矩阵由 m 行 n 列(m*n)元素排列而成,矩阵中的元素可以是数字、符号或数学公式等。 matlib.empty() matlib.emp
本文向大家介绍Numpy 将二维图像矩阵转换为一维向量的方法,包括了Numpy 将二维图像矩阵转换为一维向量的方法的使用技巧和注意事项,需要的朋友参考一下 以下的例子,将32x32的二维矩阵,装换成1x1024的向量 以上这篇Numpy 将二维图像矩阵转换为一维向量的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。