我正试图重现《小数学通讯》第81页上的一个情节.(顺便说一句,这是一本很棒的休闲数学书).该图使用一对迭代应用的简单函数创建(即每个循环的输出是下一个循环的输入).绘制每个循环中的输出x,y点应该会生成一个漂亮的复杂点云.然而,当我实现下面的代码时,在第50次迭代之后,它在4个相同的点之间循环.我假设这是由于我的变量定义中的精度不够高而导致的舍入.我如何才能改进这一点?
import matplotlib.pyplot as plt
x = 0
y = 0
vecx = []
vecy = []
for i in range(5000):
x = 1.3 + 0.3*x + 0.6*x*y - 0.6*y - y**2
y = 0.1 - 0.7*x + 0.5*(x**2) - 0.8*x*y + 0.1*y - 0.6*(y**2)
vecx.append(x)
vecy.append(y)
plt.plot(vecx, vecy, 'b.')