如何解决如何制作箭袋情节动画
我正在尝试制作一个颤动图动画,以观察在蒙特卡罗模拟下演化的二维海森堡磁铁的轨迹。我的代码如下:
xylattice=initialize(Nx_lattice,'random')
xylattice,singx,singy=insert_defect_into_lattice(xylattice,defectspins,Nx_defect)
fig,ax=plt.subplots(1,1)
def generate_quiver(spinarray,Ndim):
xp=np.arange(0,Ndim,1)
yp=np.arange(0,1)
yy,xx=np.meshgrid(xp,yp)
u=np.zeros(Ndim*Ndim)
v=np.zeros(Ndim*Ndim)
count=0
for i in range(Ndim):
for j in range(Ndim):
cartx,carty=polar_to_cartesian(spinarray[i,j])
u[count]=cartx
v[count]=carty
count += 1
return xx,yy,u,v
X,Y,U,V=generate_quiver(xylattice,Nx_lattice)
Q=ax.quiver(X,V)
def update_quiver(num,xylattice):
energy=get_energy(xylattice)
magx,magy=get_magnetization(xylattice)
xylattice,energy,magx,magy=monte_carlo(xylattice,magy,beta)
X,Nx_lattice)
Q=ax.quiver(X,V)
return Q
anim=animation.FuncAnimation(fig,update_quiver,fargs=xylattice,interval=1,blit=False)
plt.show()
代码首先初始化一个名为 xylattice 的二维数组,并使用“insert_defect_into_lattice”函数对其进行一些修改。然后我用初始化的 xylattice 生成一个箭袋图。 update_quiver 函数运行一个蒙特卡罗步骤来改变 xylattice,然后生成一个新的箭袋图。我正在尝试使用 animation.FuncAnimation 函数为不断变化的箭袋图制作动画,但它似乎不喜欢将二维数组作为“fargs”的参数,我不知道该怎么做。任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。