[問題] 數值積分

看板Mathematica作者 (追風箏的孩子)時間9年前 (2015/04/25 16:42), 9年前編輯推噓8(807)
留言15則, 4人參與, 最新討論串1/3 (看更多)
我想要用數值積分求下面這積分的 FWHM(半高全寬) http://i.imgur.com/LgocICB.png
我想求出最大值發生處以及其數值,然後用 FindRoot 解 但是第一步用 MaxValue 就跑出什麼 max precision 的問題 想問有什麼簡單的數值方法大致求出 FWHM 附上積分程式碼 Integrate[( Abs[Integrate[ E^(I*2*Pi/0.7*z*0.5^2*p^2)*BesselJ[0, 2*Pi/0.7*r*0.5*p]*p, {p, 0, 1}]])^2*r, {r, 0, 3552/15}] -- 肝不好 肝若好 人生是黑白的 考卷是空白的 、 ﹐ ● ●b ▎ ●> ● ▌ ﹍﹍ 囧> 幹... ▲ ■┘ ▎ ■ ▋ ︶■ 〈﹀ ∥ ▁▁∥ ▎ ﹀〉▊ 〈\ ψcockroach727 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.232.118 ※ 文章網址: https://www.ptt.cc/bbs/Mathematica/M.1429951354.A.4C1.html

04/25 22:08, , 1F
要用 MMA 做數值積分基本上就把 Integrate 換成 NIntegrate
04/25 22:08, 1F

04/25 22:09, , 2F
就可以了, 不是真的太難數值積的東西應該都能做
04/25 22:09, 2F

04/25 22:13, , 3F
我覺得不行 他這個裡面還有z
04/25 22:13, 3F

04/25 22:17, , 4F
也確實有點麻煩 我令z=Range[-10,10,0.1]算很久
04/25 22:17, 4F

04/27 01:52, , 5F
為什麼我看到的圖很奇怪@@
04/27 01:52, 5F

04/27 01:57, , 6F
之前遇到一個積分也是裡面有其他變數無法NIntegrate
04/27 01:57, 6F

04/27 01:58, , 7F
最後用Sum硬加
04/27 01:58, 7F
換個圖空

04/27 17:47, , 8F
NIntegrate[y z^2, {z, 0, 2}]光這種就不行了
04/27 17:47, 8F
※ 編輯: obelisk0114 (140.112.25.100), 04/27/2015 20:18:37

04/27 23:24, , 9F
這個積分可以換成fresnel的實數積分,所以原式第二次積
04/27 23:24, 9F

04/27 23:25, , 10F
時可以改採手動sum的方式,間距取等比間距來加快計算
04/27 23:25, 10F

04/27 23:27, , 11F
基本上可以用1-BesselJ0 2-Erf 3-Fresnel的二重積分表
04/27 23:27, 11F

04/27 23:27, , 12F
示,不過因為bessel函式最快所以用bessel算就好了
04/27 23:27, 12F

04/28 00:21, , 13F
剛剛試了一下結果MMA內建的方法還是比較快@@
04/28 00:21, 13F

04/28 00:22, , 14F
Method->{"GlobalAdaptive",Method->
04/28 00:22, 14F

04/28 00:22, , 15F
"ClenshawCurtisOscillatoryRule"}
04/28 00:22, 15F
文章代碼(AID): #1LErDwJ1 (Mathematica)
討論串 (同標題文章)
文章代碼(AID): #1LErDwJ1 (Mathematica)