Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NumPy:如何使用公式填充矩阵_Python_Numpy_Matrix_Scipy - Fatal编程技术网

Python NumPy:如何使用公式填充矩阵

Python NumPy:如何使用公式填充矩阵,python,numpy,matrix,scipy,Python,Numpy,Matrix,Scipy,我想初始化一个矩阵a,对于一些f(这并不重要) 我怎样才能简明扼要地避免出现两个for循环的情况?符合这里的要求 文档中的示例: >>> import numpy as np >>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int) array([[0, 1, 2], [1, 2, 3], [2, 3, 4]]) 还可以使用numpy.index获取数组的索引,然后以矢量化方式应用函数f

我想初始化一个矩阵
a
,对于一些
f
(这并不重要)

我怎样才能简明扼要地避免出现两个for循环的情况?

符合这里的要求

文档中的示例:

>>> import numpy as np
>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
array([[0, 1, 2],
   [1, 2, 3],
   [2, 3, 4]])

还可以使用
numpy.index
获取数组的索引,然后以矢量化方式应用函数
f

import numpy as np

shape = 1000, 1000

Xi, Yj = np.indices(shape)

A = (2*Xi + 3*Yj).astype(np.int) # or any other function f(Xi, Yj)

警告:文档没有清楚地解释这一点,但是
np.fromfunction(f,shape,dtype=dtype)
f(*np.indexs(shape,dtype=dtype))的薄薄包装。它不会为每个单元格执行对
f
的单独调用,因此如果您向它传递一个无法以矢量化方式工作的函数,您将得到奇怪和错误的结果。