Re: [問題] MATLAB新手發問(積分問題)
※ 引述《va1kyrie (123)》之銘言:
: 各位先進大家好
: 小弟想請問一個問題
: 我現在要解一個積分:
: ∫ (1/(exp((x-F-V)/T))+1) * (R)/((x-E-U)^2+R^2) dx
: 我要對x積分
: 積分區間是從-∞到F
: 而F=0.2 E=0.3 U=0.06 R=0.001 T=0.002都是已知定數
: V則是一個變數 V=0:0.001:1 後面還會用到
: 請問這樣能積嗎?
: 請知道的人教我
: 或是提點我一下該用哪些指令~
先把方程式寫容易看一些
V 1 * R
∫--------------------------------------------------------dx
-∞ x - F - V 2 2
( exp( ----------- ) + 1 ) * ( ( x - E - U ) + R )
T
邊界是無限大沒辦法直接做數值積分
所以先進行變數變換
1 1 - t -1
令t = --------- => x = ------- => dx = -------dt
x + 1 t t * t
1
下界-∞ => ---------- = 0
-∞ + 1
1
上界 V => ----------
V + 1
接著把x替換掉
1
-------
V + 1 - R
∫ ---------------------------------------------------------------dt
0 1 - t
/ ------- -F -V \
| t | 1 - t 2 2 2
( exp| -------------- | + 1 ) * ( ( ------- - E - U ) + R ) * t
\ T / t
變成有限區間就可以直接做數值積分了
(那直接求-∞開始區間的H開頭高斯積分法我不太信任)
(而且H開頭高斯積分法的高斯點與weighting也太難求)
接下來有兩種作法
1
一種是把0到-------的區間再做變數變換處理成-1到1之間
V + 1
然後就可以去找網路上面很多的-1到1高斯積分點資料
直接使用高斯積分法便可得到積分值
因為經過變數變換後知道變數會轉變成怎樣的方程式
所以不管V怎麼變,其區間都會維持在-1到1之間
因此V不管怎麼變都可以使用完全相同的一套最基本的高斯積分點來計算
第二種作法就是不管變數變換法處理成-1到1區間
1
改成求0到-------這個區間內的高斯積分點再來做高斯積分法
V + 1
因為V會變化,所以每次變化都要再求一次新區間內的高斯積分點
不過這個Matlab Center裡面有別人已經寫好的funtion了
只要輸入上下區間以及需要幾個高斯點就會把高斯點和其weighting算出來給你
撿別人寫好的來用會簡單一些,可以自己少算一次變數變換
最後要注意的一點就是高斯點數目請請使用偶數,以免出現0的高斯點來
至於要取幾個高斯點才會轉就麻煩請進行收斂測試來決定
--
Deserves death! I daresay he does. Many that live deserve death. And some die
that deserve life. Can you give that to them? Then be not too eager to deal out
death in the name of justice, fearing for your own safty. Even the wise cannot
see all ends.
Gandalf to Frodo
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.241.253
※ 編輯: Gwaewluin 來自: 125.233.241.253 (10/17 22:48)
推
10/17 23:09, , 1F
10/17 23:09, 1F
→
10/17 23:09, , 2F
10/17 23:09, 2F
→
10/17 23:10, , 3F
10/17 23:10, 3F
推
10/17 23:11, , 4F
10/17 23:11, 4F
→
10/17 23:12, , 5F
10/17 23:12, 5F
推
10/18 00:26, , 6F
10/18 00:26, 6F
→
10/18 00:30, , 7F
10/18 00:30, 7F
推
10/18 00:41, , 8F
10/18 00:41, 8F
→
10/18 00:41, , 9F
10/18 00:41, 9F
推
10/18 00:44, , 10F
10/18 00:44, 10F
推
10/18 00:48, , 11F
10/18 00:48, 11F
推
10/18 01:11, , 12F
10/18 01:11, 12F
推
10/18 02:41, , 13F
10/18 02:41, 13F
→
10/18 02:42, , 14F
10/18 02:42, 14F
→
10/18 02:43, , 15F
10/18 02:43, 15F
→
10/18 02:44, , 16F
10/18 02:44, 16F
推
10/18 10:37, , 17F
10/18 10:37, 17F
推
10/18 21:16, , 18F
10/18 21:16, 18F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章