python - 矩阵乘法,求解Ax = b 求解x

标签 python numpy matrix-multiplication

所以我布置了一项家庭作业,要求求解三次样条曲线的系数。现在我清楚地了解如何在纸上以及使用 MatLab 进行数学计算,我想用 Python 解决问题。给定一个方程 Ax = b,其中我知道 A 和 b 的值,我希望能够用 Python 求解 x,但我很难找到一个好的资源来做这样的事情。

例如

A = |1 0 0|
    |1 4 1|
    |0 0 1|

x = Unknown 3x1 matrix

b = |0 |
    |24| 
    |0 |

求解 x

最佳答案

一般情况下,使用solve:

>>> import numpy as np
>>> from scipy.linalg import solve
>>> 
>>> A = np.random.random((3, 3))
>>> b = np.random.random(3)
>>> 
>>> x = solve(A, b)
>>> x
array([ 0.98323512,  0.0205734 ,  0.06424613])
>>> 
>>> np.dot(A, x) - b
array([ 0.,  0.,  0.])

如果您的问题是带状的(通常是三次样条曲线),则有 http://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.solve_banded.html

要评论对问题的一些评论:最好不要使用inv 来求解线性系统。 numpy.lstsq有点不同,它对拟合更有用。

由于这是家庭作业,您最好至少阅读一下求解三对角线性系统的方法。

关于python - 矩阵乘法,求解Ax = b 求解x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22163113/

相关文章:

java - 如何连接Python聊天机器人和Java聊天室

python - 查找一个数组中的相同值以及另一个数组中的等价对

python - 给定计算的偏导数优化函数

python - 无法使用 python-uinput 将触摸事件写入 uinput

python - 在 Kivy 中使物体旋转并朝着触摸方向移动

python - 多POST查询( session 模式)

python - Altair:使用带有对数刻度的配色方案

Python 矩阵提供了 numpy.dot()

android - 缩放、旋转、平移 w。 openGl ES 2.0 中的矩阵

c - NUMA 架构上不同数据类型的 OpenMP 性能