362びぼーろく; 原稿

只今絶賛原稿執筆中。この2年間の結果なのでかなりのボリュームになりそう。
そのうち英語に自動翻訳してくれる機械が生まれてくれないかな...。

さて、今回微分せずに最小値(極値)における二次係数を求めるということをやった。
具体的にはこんなのが対象。
\[f(\alpha)=\int_0^\infty {\rm d} u ~ N(\cos(\alpha),u)\]
実際には$u$について$\infty$まで積分なんてできないのでここは数値計算させる。
そうすると、図を書くために$f(\alpha)$を数値的に求め、極値を求めるために$f'(\alpha)$を数値的に求めて、更に$f''(\alpha)$も数値的に求める必要がある。
そうすると時間がかかって仕方がない。

そこで、$\alpha$を$[0,2\pi]$の間で細かく分割してデータの羅列$(\alpha_0,f(\alpha_0)),(\alpha_1,f(\alpha_1)),\cdots$を作る。
ここから、最も値が小さい点を選び出すと、その前後の3つの点が最小値付近の三点を選んだことになる。最も小さい値を選ぶのはsortとかすれば簡単に得られるはず。

この3点を使って最小値付近の$f(\alpha)$のテイラー級数の二次近似
\[f(\alpha)=A+B(\alpha-\alpha_\text{min})^2+\cdots\]
のパラメータ$A,B,\alpha_\text{min}$を決定することができる。
(3つパラメータがあるので3点必要)

そうすると、一回数値計算をしておけば後は自動的に「最小値」「二次係数」を決めることができる。
面倒なのでどの程度の精度があるのか調べてないけど、大体良さそうな雰囲気。
知り合いに相談すると「最小二乗法にしたら?」と言われたが結局よく分からないので採用せず。

0 件のコメント:

コメントを投稿

747びぼーろく; チャイコフスキーの悲愴

 を久しぶりに聞いた。やはり名曲。終楽章の序盤のクラリネットの高音を混ぜた和音と終盤ドラの響きを思いついたのは天才的だと思う。