看板 Mathematica 關於我們 聯絡資訊
我想要用數值積分求下面這積分的 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
LPH66: 要用 MMA 做數值積分基本上就把 Integrate 換成 NIntegrate 04/25 22:08
LPH66: 就可以了, 不是真的太難數值積的東西應該都能做 04/25 22:09
GeeDuTu: 我覺得不行 他這個裡面還有z 04/25 22:13
GeeDuTu: 也確實有點麻煩 我令z=Range[-10,10,0.1]算很久 04/25 22:17
kanonehilber: 為什麼我看到的圖很奇怪@@ 04/27 01:52
kanonehilber: 之前遇到一個積分也是裡面有其他變數無法NIntegrate 04/27 01:57
kanonehilber: 最後用Sum硬加 04/27 01:58
換個圖空
GeeDuTu: NIntegrate[y z^2, {z, 0, 2}]光這種就不行了 04/27 17:47
※ 編輯: obelisk0114 (140.112.25.100), 04/27/2015 20:18:37
AmibaGelos: 這個積分可以換成fresnel的實數積分,所以原式第二次積 04/27 23:24
AmibaGelos: 時可以改採手動sum的方式,間距取等比間距來加快計算 04/27 23:25
AmibaGelos: 基本上可以用1-BesselJ0 2-Erf 3-Fresnel的二重積分表 04/27 23:27
AmibaGelos: 示,不過因為bessel函式最快所以用bessel算就好了 04/27 23:27
AmibaGelos: 剛剛試了一下結果MMA內建的方法還是比較快@@ 04/28 00:21
AmibaGelos: Method->{"GlobalAdaptive",Method-> 04/28 00:22
AmibaGelos: "ClenshawCurtisOscillatoryRule"} 04/28 00:22