gpt4 book ai didi

r - 任意定义函数的数值导数

转载 作者:行者123 更新时间:2023-12-04 03:28:01 28 4
gpt4 key购买 nike

我想找到一个双变量函数的数值导数。

  • 该函数由我自己定义
  • 我需要关于每个参数的一阶导数并交叉二阶导数

  • 是否有软件包或内置函数可以执行此操作?

    最佳答案

    安装并加载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

    (我的示例是三变量而不是二变量,但显然也适用于二变量函数。)请参见帮助页面,以获取有关如何完成梯度尤其是Hessian计算的更多信息。

    关于r - 任意定义函数的数值导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494302/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com