Python NumPy:如何使用方程填充矩阵

j x*_*j x 9 python numpy matrix scipy

我希望初始化一个矩阵A,使用A_i,j = f(i,j)某些方程f(这不重要).

我怎么能这样简洁地避免我有两个for循环的情况?

小智 10

numpy.fromfunction适合这里的账单.

来自doc的示例:

>>> 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]])
Run Code Online (Sandbox Code Playgroud)

  • 警告:文档没有清楚地解释这一点,但是`np.fromfunction(f,shape,dtype = dtype)`是一个围绕`f(*np.indices(shape,dtype = dtype))`的薄包装.它不会对每个单元格执行单独的"f`调用,因此如果你传递一个不能以矢量化方式工作的函数,你将会得到奇怪和错误的结果. (6认同)