关于在Python Jupyter Notebook中用for循环创建动态绘图及热方程解可视化的技术咨询
在Python Jupyter Notebook中用for循环创建动态绘图及热方程解可视化的技术咨询
最近我在学习用Python求解热方程,教程里提到,求解完成后可以通过在循环内调用pyplot.plot()来生成动态动画图,这样就能实时展示每个时间点上各个位置的温度变化效果。不过我在实现的时候遇到了一些问题,先把目前写的代码贴出来,想请教下大家怎么完善:
import numpy from matplotlib import pyplot length = 2 k = .466 temp_left = 200 temp_right = 200 total_time = 4 dx = .1 x_vec = numpy.linspace(0, length, int(length/dx)) dt = .0001 t_vec = numpy.linspace(0, total_time, int(total_time/dt)) u = numpy.zeros([len(t_vec), len(x_vec)]) u[:, 0] = temp_left u[:, -1] = temp_right for t in range(1, len(t_vec)-1): for x in range(1, len(x_vec)-1): u[t+1, x] = ... # 这里不知道该怎么写热方程的迭代更新公式
目前我卡在了循环里更新温度场的步骤,也就是上面代码里的u[t+1, x] = ...这一行,另外也不确定在Jupyter Notebook环境下,要怎么设置才能让这个动态绘图正常显示出来——毕竟直接在循环里调用plot()可能会出现绘图不更新或者显示异常的情况。有没有熟悉这部分的朋友能给点建议?比如热方程的离散迭代公式应该怎么写,还有Jupyter里动态绘图的配置技巧?
备注:内容来源于stack exchange,提问作者Armadillo
相关产品推荐
相关产品推荐

