You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib动画无播放效果:多顶帽函数时间演化绘图问题求助

问题原因

动画不生效的核心原因是时间参数t没有正确传递到波函数的计算逻辑中,两个具体错误如下:

  • f_xtsqrd函数调用f_xt时,没有将自身接收的t参数传入,导致f_xt始终使用默认值t=0
  • f_xt函数内部调用四个能量本征计算函数时,也没有传入t参数,本征函数始终用默认值t=0计算,最终得到的波函数模方不会随时间变化
修复方案

修改两个函数的对应逻辑即可:

def f_xt(x,n,x_0,alpha,t=0):
  sum_real=0
  sum_imag=0

  for i in range(1,n):
      
      if i % 2 == 0:# 偶数n
        sum_real += fn_even(i,alpha,x_0)*energy_eigen_even(x,i,t)[0]
        sum_imag += fn_even(i,alpha,x_0)*energy_eigen_even_image(x,i,t)[0]


      if i % 2 == 1: # 奇数n
        sum_real += fn_odd(i,alpha,x_0)*energy_eigen_odd(x,i,t)[0]
        sum_imag += fn_odd(i,alpha,x_0)*energy_eigen_odd_image(x,i,t)[0]

  return sum_real, sum_imag

def f_xtsqrd(x,n,x_0,alpha,t=0):
  x,y=f_xt(x,n,x_0,alpha,t)
  return x**2 + y**2

修改完成后重新运行代码,即可正常生成随时间演化的动画。

内容的提问来源于stack exchange,提问作者Peter Sutherland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:45:04