Re: [問題] 如何找高斯分布的最高點?

看板C_and_CPP (C/C++)作者 (simple life)時間16年前 (2009/09/01 23:09), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《clvin (^ ^)》之銘言: : 新手發問,請多指教,謝謝。 : 請問各位前輩, : 若有一高斯分佈之曲線,假設橫軸為x,縱軸為y(強度), : 想藉C寫個迴圈來找出高斯分部上之強度最大點, : 接著再從該最大點分別往左右找出強度下降至最大點的1/2處之兩點, : 則該如何著手比較好呢? 若已知為Gaussian但不知道參數為何 那就從起點(x軸的起始值)開始 逐點計算斜率 以及判斷是否為區域極大值 過程中每一點的斜率與x值開個陣列存下來 (x,slope) 等到區域極大值找到 那點就是Gaussian的最大值 接著,在斜率陣列中搜尋強度最大值的二分之一 找到之後利用Gaussian對稱的性質 找另一個斜率的位置 只需要跑資料的一半就可以達到你的需求了 以上是我粗略的解法 其他要注意的就是離散數據的處理 看你要多精確就看你的需求了 理論值跟程式結果可能不一樣 希望你能夠多多包涵阿 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.6.28.161

09/02 18:32, , 1F
謝謝~
09/02 18:32, 1F
文章代碼(AID): #1AdJaK3j (C_and_CPP)
文章代碼(AID): #1AdJaK3j (C_and_CPP)