用python写一个小程序,输入坐标求线性回归

用户输入n,然后再输入n个坐标(x,y)

然后用一组数学公式求出b0,b1

1)x的和,y的和,x平方的和,y平方的和,x乘y的和
2)x的平均值,y的平均值,sxx=x平方的和 减去 x的和的平方/n, syy= y平方的和 减去 y和的平方/n, sxy= x乘y的和 减去 x的和乘y的和/n
3) b1 = sxy/sxx
b0 = y的平均值 减 b1乘x的平均值
最后print Y^
下面是一个input和output的例子

第1个回答  2014-06-13

你好:

上面的程序,请看如下代码:

# -*- coding: cp936 -*-

end=input("是否结束(y/n):")
while end=="n":
    print "Number of coordinates:2"
    xx=input("x's:")
    yy=input("y's:")

    a=float(list(xx)[0])
    b=float(list(xx)[1])
    c=float(list(yy)[0])
    d=float(list(yy)[1])

    print "第一个点是:("+str(a)+","+str(c)+")"
    print "第一个点是:("+str(b)+","+str(d)+")"

    x0=c-a
    y0=float(d-b)

    print "直线方程为:",
    if x0==0:
        print "x=",a
    else:
        print "y=%r(x-%r)+%r"%(y0/x0,a,c)
    print

追问

这个不行,问的还是我= =

坐标使用户规定输入多少个的

相似回答