基于python

时间:2017-09-20 22:05:09

标签: python matplotlib matrix

我有一个可以使用参数定义的矩阵,所以这就像参数'a'我可以将我的Matrix标记为A(a),其中条目依赖于此'a',事情是我想用这个'a'的域创建一组这个矩阵。所以我的问题是,如何定义'a'的集合以获得矩阵集?

1 个答案:

答案 0 :(得分:0)

您可以使用fromfunction库的numpy方法。然后使用(nxn)方阵,它就像

一样简单
import numpy as np

def your_function(row_index, col_index, a):
    # ... do stuff and compute your result
    return result

n = 2
a = np.pi
your_matrix = np.fromfunction(lambda i, j: your_function(i, j, a), (n, n), dtype=np.float)

如果你希望它是callable形式,实际上就像你问的那样,你可以做到

A = lambda a : np.fromfunction(lambda i, j: your_function(i, j, a), (n, n), dtype=np.float)

或者如果您不想使用anonymous function

def A(a):
    return  np.fromfunction(lambda i, j: your_function(i, j, a), (n, n), dtype=np.float)

<小时/> 让我们举一个简单的例子

def your_function(row_index, col_index, a):
    return row_index + col_index + a
n = 2
A = lambda a : np.fromfunction(lambda i, j: your_function(i, j, a), (n, n), dtype=np.float)

用例

>>> A(1)
array([[ 1.,  2.],
       [ 2.,  3.]])

>>> A(np.pi)
array([[ 3.1415926535897931,  4.1415926535897931],
       [ 4.1415926535897931,  5.1415926535897931]])