4

我正在开发一个确定线是否相交的程序。我正在使用矩阵来做到这一点。我了解所有数学概念,但我是 Python 和 NumPy 的新手。

我想将斜率变量和 yint 变量添加到新矩阵中。他们都是花车。我似乎无法弄清楚输入它们的正确格式。这是一个例子:

import numpy as np

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

我知道如果我只是输入原始数字,它看起来像这样:

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

不过,我的目标是输入变量名而不是整数。

4

2 回答 2

4

你可以做:

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

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

我也包括了数组,因为我建议使用数组而不是矩阵。尽管起初矩阵似乎是一个好主意(或者至少对我来说是这样),但是通过使用数组,您可以避免很多麻烦。以下是两者的比较,可帮助您确定哪个适合您。

我能想到的数组的唯一缺点是矩阵乘法运算不那么漂亮:

# 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 回答