2013-08-28 19 views
8

私は二変量関数の数値微分を見たいと思います。任意に定義された関数の数値微分

  • 機能
  • 自分で定義されている私は、各引数に対する第1導関数を必要と

二次微分を渡り、これを行うためにそこにパッケージや組み込み関数ですか?

答えて

11

numDerivパッケージをインストールして読み込みます。

library(numDeriv) 
f <- function(x) { 
    a <- x[1]; b <- x[2]; c <- x[3] 
    sin(a^2*(abs(cos(b))^c)) 
} 
grad(f,x=1:3) 
## [1] 0.14376097 0.47118519 -0.06301885 
hessian(f,x=1:3) 
##   [,1]  [,2]  [,3] 
## [1,] 0.1422651 0.9374675 -0.12538196 
## [2,] 0.9374675 1.8274058 -0.25388515 
## [3,] -0.1253820 -0.2538852 0.05496226 

(私の例では、むしろ二変数より変量であるが、それは明らかにも二変数機能のために動作します。)勾配、特にヘッセ行列計算が行われている方法の詳細については、ヘルプページを参照してください。

関連する問題