如何写一个求数值偏导数的函数?

COS论坛 | 统计之都 COS论坛 | 统计之都 软件应用 S-Plus & R语言 如何写一个求数值偏导数的函数?

该主题包含 0 条回复,1个帖子,最后由  Gemstone1 周, 4 天 之前 更新。

查看 1 个帖子(总计 1 个)
  • 作者
    帖子
  • 1 楼

    Gemstone
    Participant

    感觉R对函数args的支持很弱,做不到args的泛函

    如果我想求一个对任意函数第一个args的偏导数

    则此函数应该定义为

    
    function(smallchange, fn, args){
      args_up = args[1]+smallchange, args[2:]
      args_down = args[1]-smallchange, args[2:]
      (fn(args_up)-fn(args_down))/smallchange/2}
    

    但是很显然,R做不到这样完美的传参。参数无法被当成一个整体传到函数上,因此无法作出类似的编程。

    如下例,采用list对runif传参,结论是错误的

    
    runif(10, min=2, max=3)
    runif(list(n=10, min=2, max=3))
    
查看 1 个帖子(总计 1 个)

您必须先登录才能回复该主题。