python偏微分方程的实现
在物理海洋学中,有许多偏微分方程,那么如何利用编程去实现呢?由于我平时主要用的是python,本文将主要介绍利用python去实现偏微分方程的方法。
以下列方程为例:

式1右边项的中括号内部的偏微分主要用的是np.gradient(),具体如下:

np.gradient(array,axis=0)表示若数组大于1D,向图1数据都是2D的,那么我们可以用axis去表示你想求得具体哪个维度的梯度(偏微分)。
对于np.gradient()的一些基本解释:
对于1维的数组:两个边界的元素直接用后一个减去前一个值,得到梯度,即b − a ;
对于中间的元素,取相邻两个元素差的一半,即( c − a ) / 2。
如:
In [2]: f = np.array([1, 2, 4, 7, 11, 16], dtype=np.float)
In [3]: np.gradient(f)
Out[3]: array([1. , 1.5, 2.5, 3.5, 4.5, 5. ])
对于2维数组:分别计算每个维度上的梯度,每个维度上的梯度和上面的1维数组梯度
求法相同。
第一次正式写专栏,欢迎大家批评指正!