from pylab import *
def x(t) :
if 0 <= t < 8 :
return(2*t)
elif 8 <= t < 20 :
return(t**3)
t = arange(5.0, 20, 0.3)
print([i for i in t])
输出为 [5.0, 5.3, 5.6, 5.8999999999999995, 6.199999999999999, 6.499999999999999, 6.799999999999999, 7.099999999999999, 7.399999999999999, 7.699999999999998, 7.999999999999998, 8.299999999999997, 8.599999999999998, 8.899999999999999, 9.199999999999998, 9.499999999999996, 9.799999999999997, 10.099999999999998, 10.399999999999997, 10.699999999999996, 10.999999999999996, 11.299999999999997, 11.599999999999996, 11.899999999999995, 12.199999999999996, 12.499999999999996, 12.799999999999995, 13.099999999999994, 13.399999999999995, 13.699999999999996, 13.999999999999995, 14.299999999999994, 14.599999999999994, 14.899999999999995, 15.199999999999994, 15.499999999999993, 15.799999999999994, 16.099999999999994,16.3999999999999,16.69999999999999992,16.999999999999999993,17.299999999999999994,17.5999999999999999999,17.8999999999999999,18.999999999999992,18.49999999999999993,18.7999999999999999999,19.0999999999999999999,19.39999999999999999999,19.69999999999992,19.999999999993]
我想要的是 [5.0、5.3、5.6、5.9、6.2、6.5、6.8、7.1、7.4、7.7、8.0等等]
说到8.0,我的输出是7.999999998<;8. 所以答案是错误的。 我想要8.0。 这样我就可以画函数了
plot(t, array([x(i) for i in t]))
我想你只需要简单的四舍五入
将最后一行更改为:
输出:
因此,在您的情况下,代码变成如下所示:
现在您可以使用此
t
并获得以下绘图:相关问题 更多 >
编程相关推荐