微分方程式
數值求解
1
簡要 python 學習講義
微分方程式數值求解 (一)
2
國立中央大學數學系
微分方程式數值求解 (二)
3
國立中央大學數學系
為微分方程式解析解 的估算值 ,
如此逐步迭代產生以下計算步驟:
1. 設定計算區間在 [a,b] ,起始條件 y(a) = c
2. 執行 n 步,計算 h = (b-a)/n
3. 設定 = a 與 = c 與
4. 依次計算 i ∈ [0,n)
4
此公式需設定起始條件才能求解,若讓 y0 = c,c 要一開始就給定
,整個數值求解才能開始。以上的數值求解法稱為 Euler method,這是
最簡單的數值法用來計算起始值問題(initial value problem),缺點
為計算精度偏低,若要得到較好的結果,∆x 要越小越好。
本程式利用函式來定義 y’(x) 函數,並使用 c 迴圈來設定三個起始
值,數值分別為 0 、5 、10,對相同微分方程式,三個不同起始值代表
三個不同的微分方程式,可產生三個數值解。一般來說,所有起始值微分方
程的數值方法,離起始點越遠,誤差越大 。
微分方程式數值求解 (三)
微分方程式數值求解 (四)
5
微分方程式數值求解 (五)
6
import pylab
#----------------------------------------
# y’ = x**(1/3) sin(x) + 0.2
#
# i.c. y(0) = val val = range(0,11,5)
#----------------------------------------
def fn(x) :
return x**(1/3) * pylab.sin(x) + 0.2
# 設定周邊空白為白色
pylab.figure(facecolor=’white’)
# 設定 [a,b] 與執行次數
a , b , n = 0 , 20*pylab.pi , 500
dx = (b-a)/n
# 設定 xs , ys
xs = [ a + i*dx for i in range(n+1) ]
ys = [None] * (n+1)
# c :起始值,在此分別為 0 5 10 三數
# 以下計算相同微分方程式但不同起始值的解答
for c in range(0,11,5) :
微分方程式數值求解 (六)
7
ys[0] = c
for i in range(1,n) :
ys[i+1] = ys[i] + dx * fn(xs[i])
sym = ’y(0) = ’ + str(ys[0])
pylab.plot(xs,ys,label=sym)
# 設定圖形標頭文字
pylab.title(r”$y’ = sqrt[3]{x}, sin(x) + 0.2$",fontsize=20)
# 設定 X 軸與 Y 軸文字
pylab.xlabel(’X’)
pylab.ylabel(’Y’)
# 設定各線條圖例位置
pylab.legend(loc=’upper left’)
pylab.show()

More Related Content

PDF
Ppt 158-164
PDF
Python differential equation
PDF
Ppt 150-156
PPTX
ncuma_數值求根法.pptx
PPTX
二分逼近法_範例.pptx
PDF
Ppt 167-173
PDF
Ppt 136-140
PPTX
ncuma_數值積分法.pptx
Ppt 158-164
Python differential equation
Ppt 150-156
ncuma_數值求根法.pptx
二分逼近法_範例.pptx
Ppt 167-173
Ppt 136-140
ncuma_數值積分法.pptx

Similar to ncuma_微分方程式.pptx (12)

PDF
Ppt 145-149
PPTX
函數微分_範例.pptx
PPTX
ncuma_函數微分計算.pptx
PDF
Ppt 157-163
PDF
Ppt 138-142
PDF
Sym py edu
PDF
Ppt 141-149
PDF
Ch5 範例
PDF
Ppt 152-155
PDF
103學測數學試題(定稿)
PPTX
牛頓迭代法_範例.pptx
PPTX
ncuma_牛頓法.pptx
Ppt 145-149
函數微分_範例.pptx
ncuma_函數微分計算.pptx
Ppt 157-163
Ppt 138-142
Sym py edu
Ppt 141-149
Ch5 範例
Ppt 152-155
103學測數學試題(定稿)
牛頓迭代法_範例.pptx
ncuma_牛頓法.pptx
Ad

More from NCU MCL (20)

PPTX
極座標畫圖_習題6.pptx 極座標畫圖_習題6.pptx 極座標畫圖_習題6.pptx
PPTX
極座標畫圖_習題5.pptx 極座標畫圖_習題5.pptx 極座標畫圖_習題5.pptx
PPTX
Taylor多項式6.pptx Taylor多項式6.pptx Taylor多項式6.pptx
PPTX
Taylor多項式5.pptx Taylor多項式5.pptx Taylor多項式5.pptx
PPTX
Taylor多項式4.pptx Taylor多項式4.pptx Taylor多項式4.pptx
PPTX
微分方程式求解_習題6.pptx 微分方程式求解_習題6.pptx 微分方程式求解_習題6.pptx
PPTX
微分方程式求解_習題5.pptx 微分方程式求解_習題5.pptx 微分方程式求解_習題5.pptx
PPTX
微分方程式求解_習題4.pptx 微分方程式求解_習題4.pptx 微分方程式求解_習題4.pptx
PPTX
函數微分_習題6.pptx 函數微分_習題6.pptx 函數微分_習題6.pptx
PPTX
函數微分_習題5.pptx 函數微分_習題5.pptx 函數微分_習題5.pptx
PPTX
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
PPTX
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
PPTX
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
PPTX
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
PPTX
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
PPTX
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
PPTX
函數畫圖_習題4.pptx
PPTX
數值積分法_3.pptx
PPTX
數值積分法_2.pptx
PPTX
數值求根習題_1.pptx
極座標畫圖_習題6.pptx 極座標畫圖_習題6.pptx 極座標畫圖_習題6.pptx
極座標畫圖_習題5.pptx 極座標畫圖_習題5.pptx 極座標畫圖_習題5.pptx
Taylor多項式6.pptx Taylor多項式6.pptx Taylor多項式6.pptx
Taylor多項式5.pptx Taylor多項式5.pptx Taylor多項式5.pptx
Taylor多項式4.pptx Taylor多項式4.pptx Taylor多項式4.pptx
微分方程式求解_習題6.pptx 微分方程式求解_習題6.pptx 微分方程式求解_習題6.pptx
微分方程式求解_習題5.pptx 微分方程式求解_習題5.pptx 微分方程式求解_習題5.pptx
微分方程式求解_習題4.pptx 微分方程式求解_習題4.pptx 微分方程式求解_習題4.pptx
函數微分_習題6.pptx 函數微分_習題6.pptx 函數微分_習題6.pptx
函數微分_習題5.pptx 函數微分_習題5.pptx 函數微分_習題5.pptx
函數微分_習題4.pptx 函數微分_習題4.pptx 函數微分_習題4.pptx
函數畫圖_習題7.pptx 函數畫圖_習題7.pptx 函數畫圖_習題7.pptx
函數畫圖_習題6.pptx 函數畫圖_習題6.pptx 函數畫圖_習題6.pptx
函數畫圖_習題5.pptx 函數畫圖_習題5.pptx 函數畫圖_習題5.pptx
SymPy 在微積分上的應用_5.pptx SymPy 在微積分上的應用_5.pptx
SymPy 在微積分上的應用_4.pptx SymPy 在微積分上的應用_4.pptx
函數畫圖_習題4.pptx
數值積分法_3.pptx
數值積分法_2.pptx
數值求根習題_1.pptx
Ad

ncuma_微分方程式.pptx