从矩阵线性方程中提取解决方案值并绘制解决方案线

时间:2018-02-06 15:15:55

标签: python python-3.x numpy math matrix

如何提取矩阵的值并使用for循环创建一个方程来绘制一条线?从本质上讲,下图是我试图做一个简单的线性方程式:

This is what I am trying to do

根据我的数据,我正在使用此代码:

import numpy as np

A = np.matrix([[10,1],[45,1]])
B = np.matrix([[180],[140]])

A_inverse = np.linalg.inv(A)

X = A_inverse * B

X

哪个输出:

matrix([[  -1.14285714],
        [ 191.42857143]])

最终我要做的是用矩阵方程的输出绘制一条线。希望在某种形式的for循环中,这就是我认为等式的样子:

lineplot = -1.14285714 * T + 191.42857143

我可以编写一些数据,但是如何在上面的等式中使用它,其中T可以是Random_Number ......?下面的(m*x)+b部分只是我需要修改和实现的内容,希望能够使这项工作成为现实。

# Create a df with a date-time index with data every 6 hours
rng = pd.date_range('1/5/2018 00:00', periods=5, freq='6H')
df = pd.DataFrame({'Random_Number':randint(1, 10, 5)}, index=rng)

lineplot = []
for T in Ts:
    lineplot.append((m*x)+b)

1 个答案:

答案 0 :(得分:0)

不确定你想要用Pandas实现什么,但让我们总结一下数学相关的部分 - 你试图求解方程:y = ax + b并且你已经找到了ab。现在,您需要为y的不同值找到x的值。您的随机T实际上是等式中的x。您可以使用某个循环来计算y的{​​{1}}的不同值,但您的代码会相当慢。如果您使用点积,那么您不需要任何循环来计算T

y

enter image description here