2017-09-20 6 views
0

私はパラメータを使って定義できる行列を持っているので、これはパラメータ 'a'と似ています。私の行列をA(a) 'a'、これは、この行列の集合をドメインを使って作成したいということです。だから私の質問は、どのように行列の集合を得るために 'a'の集合を定義するのですか?Pythonのパラメータに依存する行列

+0

こんにちは、私は「A」の値のセット(一般的には実際の値)を持っており、この行列の各エントリは、このパラメータの関数であり、私は」 dの各値に対してこの行列の集合を生成するのが好きです。 –

+0

あなたはSOの回答を得て満足していますか? [誰かが私の質問に答えたときに何をすべきですか?](https://stackoverflow.com/help/someone-answers)を読むことを検討してください。 – Kanak

答えて

0

何かできることは、numpyライブラリのfromfunctionメソッドを使用することです。あなたはそれがcallable形態であることにしたい場合は、(n×nの)正方行列で、それはあなたが尋ねた実際として、あなたが行うことができ、

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) 

のような単純なものとなり

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]]) 
+0

親愛なるカナックさん、ありがとう、助けになりました。 –

+0

あなたの質問に答えた場合、このサイトの仕組みは、あなたが答えを「受け入れる」ことを望んでいます。ここでは:[誰かが私の質問に答えたときにどうすればいいですか?](https://stackoverflow.com/help/someone-答え) – Kanak

関連する問題