4

線が交差するかどうかを判断するプログラムに取り組んでいます。これを行うために行列を使用しています。数学の概念はすべて理解していますが、Python と NumPy は初めてです。

勾配変数と yint 変数を新しい行列に追加したいと考えています。それらはすべてフロートです。それらを入力するための正しい形式を理解できないようです。次に例を示します。

import numpy as np

x = 2
y = 5
w = 9
z = 12

生の数字だけを入力すると、次のようになることは理解しています。

matr = np.matrix('2 5; 9 12')

ただし、私の目標は、int ではなく変数名を入力することです。

4

2 に答える 2

4

できるよ:

M = np.matrix([[x, y], [w, z]])

# or
A = np.array([[x, y], [w, z]])

行列の代わりに配列を使用することをお勧めするので、配列も含めました。行列は最初は良いアイデアのように思えますが (少なくとも私にとってはそうでした)、配列を使用することで多くの頭痛の種を避けることができます。ここでは、どちらが適切かを判断するのに役立つ 2 つの比較を示します。

私が考えることができる配列の唯一の欠点は、行列の乗算操作がそれほどきれいではないということです:

# With an array the matrix multiply like this
matrix_product = array.dot(vector)

# With a matrix it look like this
matrix_product = matrix * vector
于 2012-11-14T23:23:15.027 に答える
2

次のように文字列をフォーマットできますか?:

import numpy as np

x = 2
y = 5
w = 9
z = 12

matr = np.matrix('%s %s; %s %s' % (x, y, w, z)) 
于 2012-11-14T23:12:10.893 に答える