C言語で階段関数を定義する

シェアする

C言語で階段関数を定義したのでメモしておきます.

実装

if文を使うのが気に入らなかったので少し工夫して書きました.

double step (double x, double z) {
    return ( x > 0 ) + ( ( x == 0 ) * z );
}

このコードで以下の階段関数

 \begin{align*} H_{z} (x) =  \begin{cases} 1 & ( x > 0 ) \\ z & ( x = 0 ) \\ 0 & ( x < 0 ) \end{cases} \end{align}

を表現することが出来ます.

物理学とのつながり

フェルミ分布関数の絶対零度極限を数値計算するには階段関数が必要となります.フェルミ分布関数と階段関数の関係についてはこちら.この場合はz=0.5とすれば良いです.

フェルミ分布関数と階段関数の関係についてまとめます. Heavisideの階段関数と他の階段関数 階段関数として有名なも...

シェアする

フォローする