差分法求微分方程初尝试 [热传导 & 波动方程]

Hi,之前一直想做一个求解偏微分方程的程序,这两天大致了解了下差分法,然后用差分法简单写了个二维热传导与波动方程的模拟程序,在这里 (第一次用GitHub :sweat_smile:,见谅) 下面是程序运行的效果,大体还能看,但不能细看。

heat-small

wave_equation

不过这个波动方程绘制的样子总感觉怪怪的。

然后还有几个问题想问下大家:

  1. 我在对矩阵值进行update的时候,是直接在主for循环下面用类似T[x,y] += xxx 这样的结构传值,因为自动并行,这样是没问题的吧?不需要我创建一个过渡用的矩阵先计算完下一个时间间隔所有的值然后再传回T矩阵?

  2. 该怎么比较好的上色 :joy:, 现在我是直接画这种黑白的,也想过写一个函数来通过一个传入值返回一个colorbar上某个点,但感觉好不直观,不太好微调颜色,想问下大家有没有什么好办法?

3 个赞