微分方程在建模中的應用(使用差分普通的遞推關係)
這裡我們將k的值改變了下,這樣更加符合演算法的時間複雜度關係;
在溫度擴散和濃度擴散模型中,微分方程形式為y'+g(x)*y=g(x)*f(x),目前我們假定g(x),f(x)均為常量,並且有g(x)=k,f(x)=m,下面解答這個方程並驗證;
y'+k*y=k*m (k,m為常量)
go採用標準解法有:
'=c*e^(kx)*k*m
goy=a+b*e^(-kx)
這裡我們把k改為-1,
假設初始值y(0)=1,y(1)=10,k=-1
1=a+b
10=a+b*e^(1)
goa=1-b
b=9/(e-1)
注意將y=a+b*e^(-kx)回代入原方程中有ka=km,所以m=a
前面在用數值解法計算的時候採用的直接計算法,下面我們建立差分模型後直接計算它的值;
/0.01+k*y(n-1)=k*m
go/0.01-y(n-1)=-m
goy(n)-1.01*y(n-1)=-0.01*m
go這裡不用公式計算了,採用直接遞推法;
下面寫程式來證明:
(setq k -1)
(setq b (/ 9
(- e 1)))
(setq a (- 1 b))
(setq m a)
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))(defun slayer ( count)
(if (or (> count 1) (eq count 1) )
(* count
(slayer
(- count 1) ) )
1))(defun slayerex (num count)
(if (or (> count 1) (eq count 1) )
(* num
(slayerex
(- num 1)
(- count 1) ) )
1))(defun expr (x1 y1 )
(+ y1
(* 0.01
(- (* k m)
(* k y1)))))
(defun calc (n x)
(if (eq n 0)
1.0(+ (calc (1- n)
x)(* (pow x
n)(/ 1
(slayer n))))))
(setq e (calc 10 1))
(defun formula (x)
(+ (* b
(pow e x))
a))(defun exprhelp (x1 )
(if (< (abs (- x1 0))
0.01)
(formula 0)
(expr x1
(exprhelp (- x1
0.01)))))
(defun test (n)
(if (or (> n 0) (eq n 0))
(progn
(print (exprhelp n))
(print 'compare)
(print (formula n))
(test (- n 1)))
(print 'over)))
[60]> (test 10)
108688.43
compare
115365.836
40180.67
compare
42438.04
14852.578
compare
15609.402
5488.493
compare
5739.699
2026.4856
compare
2108.8384
746.54346
compare
773.11945
276.11032
compare
281.73593
99.41004
compare
100.96606
34.08198
compare
34.464542
9.929457
compare
10.0
1.0compare
1.0over
over
可以發現結果也是對的;下面日誌將對這種思維進行衍生;
微分方程,差分方程
自變數連續,一般自變數為時間t,因變數 函式值 連續,如 y t t 2 2t 1 如 y t 2y t 3y t 5 u t 3u t 其中y和u都是t的連續函式,y u 都是對自變數求導,即對t求導 自變數是離散的,一般自變數取k,所以因變數也是離散的,即k 0,1,2,3,n 差分方程一般有三...
微分方程解特殊差分模型
微分方程解特殊差分模型 由前面兩種模型之間的聯絡,我們可以獲得一些共同點 一部分的差分模型比較難解,我們可 以轉化為微分方程的近似解來完成 比如差分模型為 n 0.0001 a n 1 0.0001 n 3 gon a n n 0.0001 a n 1 0.0001 n 3 如果是直接給出下面這個差...
第二章 2 1 微分方程 差分方程求解(求解方法)
本節所要討論的主要為題就是如何確定系統的初始條件 我們知道訊號時從零正時刻之後加入系統的,因此我們需要求解零正時刻的系統初始條件。下面有乙個問題需要我們考慮,也就是訊號加入系統之後,系統的狀態會發生變化嗎?如圖所示,系統在0正時刻和0負時刻系統的輸入時不相同的,會有乙個跳變,通過這裡例子我們知道在訊...