最小二乘法拟合直线方程

版权声明:博主的博客不值钱随便转载但要注明出处 https://blog.csdn.net/easylovecsdn/article/details/84759941

Code(python)

x = []
y = []

n = input();
n = int(n)

sumx = 0
sumx2 = 0
sumy = 0
sumxy = 0

for i in range(n):
    v = input()
    v = float(v)
    sumx += v
    sumx2 += (v * v)
    x.append(v)

for i in range(n):
    v = input()
    v = float(v)
    sumy += v
    y.append(v)

for i in range(n):
    sumxy += (x[i] * y[i])

b = (n * sumxy - sumx * sumy) / (n * sumx2 - sumx * sumx)
a = (sumy - sumx * b) / n

print("a = %.3lf" % a)
print("b = %.3lf" % b)

猜你喜欢

转载自blog.csdn.net/easylovecsdn/article/details/84759941