python偏微分方程的實現(xiàn)
在物理海洋學中,有許多偏微分方程,那么如何利用編程去實現(xiàn)呢?由于我平時主要用的是python,本文將主要介紹利用python去實現(xiàn)偏微分方程的方法。
以下列方程為例:

式1右邊項的中括號內部的偏微分主要用的是np.gradient(),具體如下:

np.gradient(array,axis=0)表示若數(shù)組大于1D,向圖1數(shù)據(jù)都是2D的,那么我們可以用axis去表示你想求得具體哪個維度的梯度(偏微分)。
對于np.gradient()的一些基本解釋:
對于1維的數(shù)組:兩個邊界的元素直接用后一個減去前一個值,得到梯度,即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維數(shù)組:分別計算每個維度上的梯度,每個維度上的梯度和上面的1維數(shù)組梯度
求法相同。
第一次正式寫專欄,歡迎大家批評指正!
標簽: