你好:
上面的程序,请看如下代码:
# -*- 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)
设x,y分别为一组数据,代码如下
import matplotlib.pyplot as plt
import numpy as np
ro=np.polyfit(x,y,deg=1) #deg为拟合的多项式的次数(线性回归就选1)
ry=np.polyval(ro,x)#忘记x和ro哪个在前哪个在后了。。。
print ro #输出的第一个数是斜率k,第二个数是纵截距b
plt.scatter(x,y)
plt.plot(x,ry)