鼠尾草图案

2024-06-11 16:11:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段圣人的手稿:

...
 15 #ALGORYTHM
 16 N = 0;
 17 PointsList = []
 18 Dots = open("dots.dat", "wb")
 19 while( K < 1e10 ):
 20   T = 2.0/(1+K)
 21   A = Matrix([[T-1, 0],[T, 0]]) 
 22   B = Matrix([[0, 2-T],[0, 1-T]]) 
 23   while ( 1 ):
 24     U = A*U_p + B*U_pp
 25     N+=1
 26     if ( abs(U[0]) <= abs(U_p[1]) ):
 27       break
 28     U_pp = U_p
 29     U_p = U
 30   
 31   Dots.write( "%f %f\n" % (K, N) )
 32   PointsList.append((K, N))
 33   K*=2
 34   N=0
 35   U_pp = I_pp; U_p = I_p; U = I_U; 
 36 
 37 ShowPoints = list_plot( PointsList, color = 'red', size = 20 )
 38 show( ShowPoints )
 39 Dots.close()
 40 print Dots.closed

但在执行后,sage没有给我看任何图片,也没有显示任何图形。我的问题是,如果所有命令都在脚本中,如何使SAGE draw。 注意。我不想在SAGE的命令行中编写代码。 输出是

^{pr2}$

Tags: absopenmatrixppdatsagedotswb
1条回答
网友
1楼 · 发布于 2024-06-11 16:11:23

解决方法是保存绘图:ShowPoints.save('filename.png')。在

另一个(来自williamstein的建议):将命令sleep(1)添加到文件末尾,并从shell提示符执行echo "%attach 3_balls.sage" | sage -q。您可以尝试不使用sleep命令,但当Sage显示图形时,它首先将图形保存到一个临时文件中,当Sage退出时,它会删除该文件。因此,如果没有sleep命令,文件可能会在打开之前被删除。使用sage -q而不是sage可以使Sage的旗帜安静下来。在

如果我听到更好的解决方案,我会贴出来的。在

相关问题 更多 >