午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

エクセルで2次のガウス関数(確率密度関数)、正規分布関数のNORMDIST

前回からの続き
 
2次の確率密度関数(ガウス関数)は1次同士を掛け算したものでいいらしい
変数xと変数yだった場合
イメージ 1
こうなるみたい
 
エクセルならNORMDIST関数2つの掛け算になって
=NORMDIST*NORMDIST
これだけ
 
標準偏差=1のときx,yが-2~2までのガウス分布

f:id:gogowaten:20191214121020p:plain

こうなって
 

f:id:gogowaten:20191214121029p:plain

参照している場所はこんな感じで
等高線グラフにしてみると
 
イメージ 2
これは…前回の
 
イメージ 5
ガウシアンフィルタのカーネルにそっくり
 

もっとフィルタのカーネルっぽく
イメージ 6
一番小さい数値でそれぞれを割って
四捨五入したらそれっぽくなった、もう少し
 
 
標準偏差を1.05に
イメージ 7
よく使われるっていうカーネルの数値に近いのができた
 
 
NORMDIST関数を使わずに計算してみる
イメージ 8
結果

f:id:gogowaten:20191214121047p:plain

 
イメージ 10
expの前だけ計算
 
 
イメージ 11
exp
 
 
イメージ 12
expの指数の部分
 
 
イメージ 13
expの指数の部分の参照状態
 
 
イメージ 14
全体を計算
NORMDIST関数と同じ結果になった!
 
イメージ 15
全体を計算の参照状態
 
 

f:id:gogowaten:20191214121103p:plain

数値を整えてできた
 
 
 
 
1次から2次
2次の確率密度関数は1次同士を掛け算っていうことなので
イメージ 17
こうで
それぞれの1次は
イメージ 18
こう
これを掛け算だから
 
イメージ 19
こうなって、これをうまい具合に計算する
 
 
普通に計算できそうなのはexpの前の分数同士の掛け算
分子同士、分母同士を掛け算して
イメージ 21
おk、できた
 
 
expの右側はexpの指数だからべき乗同士の掛け算は
忘れたのでぐぐったら指数法則で
元になる数値が同じなら指数同士の足し算、これに当てはまって
分数同士の足し算で
イメージ 22
できた
 
expの前とあわせて
イメージ 20
完成
こういう中学校レベルでもググらないと解けないとかね
 
ワード2007大活躍

f:id:gogowaten:20191214121122p:plain

数式の表示にワード使ったんだけど、この機能エクセルにも欲しいわ
 
 
もっと2次の正規分布っぽく!

f:id:gogowaten:20191214121130p:plain

20x20マスと広げてみると曲線に近くなって、画像検索で出てくるグラフっぽくなる
 
 
イメージ 25
エクセルおもしろい
 
イメージ 26
イメージ 27
あれ?5より平面になった
 
もう一度標準偏差=5
グラフの縦軸を標準偏差=4のグラフと同じ範囲0~0.01に変更
イメージ 28
ちゃんとよりフラットになっていた
 
 
標準偏差をxとyで別々に指定
x=0.5, y=5
イメージ 29
イメージ 30
イメージ 31
 
イメージ 32
ぼかし処理では使わないけどおもしろいねえ
 
 
 
次はC#で書けるのか、できたとして標準偏差の違いでぼかし処理がどう変わるのか、変わらないのか
 
 
 
 
参照したところ
 
 
 
関連記事
エクセルで1次のガウス関数(確率密度関数)、正規分布関数のNORMDIST ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15942730.html
 
次回、2019/04/30は3日後

gogowaten.hatenablog.com

ガウス関数からカーネル作成、標準偏差カーネルサイズ、グレースケール画像のぼかし処理 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15945699.html