我必须计算一个函数(3x-2),区间为-10,10,精度增量为1,0.1,0.01,0.001,0.0001等。
a=1.0
for x in range(1,40):
for y in range(-10,10,a):
c=3(x)-2
print(c)
a=a/10(第一个for是因为我需要获取40个小数),但我得到了这个错误
for x in range(-10,10,a):
TypeError: 'float' object cannot be interpreted as an integer谢谢你的帮助。
发布于 2018-08-11 04:28:40
看来你对这个问题想得太多了。下面是一个使用numpy和matplotlib可视化答案的更简单的方法:
import numpy as np
import matplotlib.pyplot as plt
desired_increment = 0.1
upper_bound = 10
lower_bound = -10
pts = int((upper_bound - lower_bound)/desired_increment + 1)
x = np.linspace(lower_bound, upper_bound, pts)
y = 3*x-2
plt.figure(1)
plt.plot(x,y,'*')
plt.show()

您可以使用np.linspace()更改您提到的增量的大小。
https://stackoverflow.com/questions/51793580
复制相似问题