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