求解一组4x4方程 - python

时间:2017-07-24 18:44:52

标签: python python-3.x math linear-algebra

我是一名学生,并没有学会如何解决这种方式的方程组。我正在研究计算沿着弯曲路径移动物体的距离和时间的程序,但是在我生成方程后,我无法解决它们。以下是它们的显示方式:

number = at ^ 4 + bt ^ 3 + ct ^ 2 + dt

(其中有4个具有不同的t值)

对于最终结果,我需要创建一个程序,该程序将输入4个不同的t值,以及与它们对应的4"数字"以便求解,b,c和d。如果有人能指出我正确的方向,或给我一些帮助,从哪里开始,这将是美好的。感谢

P.S我会从我开始的地方提供代码,但问题是我不知道如何开始,所以没有什么可以补充的。

1 个答案:

答案 0 :(得分:1)

如果你有四个方程和四个未知数,你最好的选择是线性代数,矩阵和求解联立方程。 Python有很棒的库。

如果您有四个点(t1, n1)(t2, n2)(t3, n3)(t4, n4),则您的公式变为:

n1 = a*t1^4 + b*t1^3 + c*t1^2 + d*t1
n2 = a*t2^4 + b*t2^3 + c*t2^2 + d*t2
n3 = a*t3^4 + b*t3^3 + c*t3^2 + d*t3
n4 = a*t4^4 + b*t4^3 + c*t4^2 + d*t4

使用LU decomposition和后替换来求解系数a,b,c和d。

如果你有超过四个点,你仍然可以求解四个系数。在这种情况下,它被称为最小二乘拟合。