階乗関数、二項係数
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
//間瀬茂
SIZE(25){COLOR(red){ 階乗関数、二項係数の計算}}
COLOR(red){R 1.9.0 より階乗関数 factorial(n)、その対数値 ...
~
~
R には階乗関数 n!=1 x 2 x ... x n を計算する関数は無く、...
n! = gamma(n+1) # +1 を忘れないこと!
また、二項係数を計算する関数は SIZE(20){choose()} である。
choose(n,k)
当然 n, k は整数で 0 <= k <= n である必要があるが、整数...
> choose(3, 1.9)
[1] 3
二項係数の自己流定義の例
> nCk <- function(n, k) round( exp( lgamma(n+1) - lgamma...
> nCk(10, 3)
[1] 120
SIZE(20){gamma()} や SIZE(20){choose()} はベクトル化され...
> choose(9,0:9)
[1] 1 9 36 84 126 126 84 36 9 1
> choose(10:19,9)
[1] 10 55 220 715 2002 5005 11440 24310 486...
SIZE(20){gamma()} や SIZE(20){choose()} はうっかりすると...
lgamma # gamma の自然対数値
lchoose # choose の自然対数値
例えば choose(1000000,1000) がどれくらいの大きさかを知り...
> x <- lchoose(1000000,1000)/log(10) # 自然対数値を常...
> x
[1] 3432.178
> 10^(x-3432) # 仮数部を計算
[1] 1.507833
終了行:
//間瀬茂
SIZE(25){COLOR(red){ 階乗関数、二項係数の計算}}
COLOR(red){R 1.9.0 より階乗関数 factorial(n)、その対数値 ...
~
~
R には階乗関数 n!=1 x 2 x ... x n を計算する関数は無く、...
n! = gamma(n+1) # +1 を忘れないこと!
また、二項係数を計算する関数は SIZE(20){choose()} である。
choose(n,k)
当然 n, k は整数で 0 <= k <= n である必要があるが、整数...
> choose(3, 1.9)
[1] 3
二項係数の自己流定義の例
> nCk <- function(n, k) round( exp( lgamma(n+1) - lgamma...
> nCk(10, 3)
[1] 120
SIZE(20){gamma()} や SIZE(20){choose()} はベクトル化され...
> choose(9,0:9)
[1] 1 9 36 84 126 126 84 36 9 1
> choose(10:19,9)
[1] 10 55 220 715 2002 5005 11440 24310 486...
SIZE(20){gamma()} や SIZE(20){choose()} はうっかりすると...
lgamma # gamma の自然対数値
lchoose # choose の自然対数値
例えば choose(1000000,1000) がどれくらいの大きさかを知り...
> x <- lchoose(1000000,1000)/log(10) # 自然対数値を常...
> x
[1] 3432.178
> 10^(x-3432) # 仮数部を計算
[1] 1.507833
ページ名: