python - 如何在 python 中建立方程式

标签 python math numpy

我有一个包含系数的列表,这些系数定义了我想要求解的方程组。我的系数列表中的第一项始终为 1,并且解中的第一个变量也假定为 1。

如果

coeffs = [1,2,3,4]

然后我想求解的方程组是 coeffs 与变量 [1, x[3], x[2], x[1]]。这样我们得到

1*1 + 2*x[3] + 3*x[2] + 4*x[1] = 0

1*x[3] + 2*x[2] + 3*x[1] + 4*1  = 0

1*x[2] + 2*x[1] + 3*1 + 4*x[3] = 0

1*x[1] + 2*1 + 3*x[3] + 4*x[2] = 0

给定 coeffs,我如何在 numpy 中建立这个方程组以便求解 x?在实际情况下,coeffs 的长度为数百。

最佳答案

>>> import numpy as np
>>> coeffs = [1, 2, 3, 4]
>>> N = len(coeffs)
>>> a = np.tile(coeffs, (N, 1))
>>> a
array([[1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4]])
>>> for i in xrange(1, N):
...     a[i] = np.roll(a[i], i)
... 
>>> a
array([[1, 2, 3, 4],
       [4, 1, 2, 3],
       [3, 4, 1, 2],
       [2, 3, 4, 1]])
>>> 

关于python - 如何在 python 中建立方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136998/

相关文章:

math - ∃是什么意思?

python - 旋转 glViewport?

c - 数学。排序。 "n * (n + 1)/2"总是小于 "n * n"吗?

python - numpy python 3.4.1 : Python 3. 4 在注册表中找不到

python - Numpy 在 z 方向上广播

python - 在Python(可能是pandas)中从文件读取数组时,处理和跳过第一行(包含元数据)的优雅方法?

python - 如何获取 ConsumerRecord 中的字段

python - Pandas :NaN 孔的运行长度

python - 对视频文件中每个蒙版帧进行 'White'像素计数

python - cassandra 没有主机可用 :