首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用deriv或D作为函数的一部分

使用deriv或D作为函数的一部分
EN

Stack Overflow用户
提问于 2017-09-20 12:16:33
回答 1查看 122关注 0票数 1

我有以下问题。我试图计算这样的函数:

代码语言:javascript
复制
derivation <- function(function, number) {  
  derivation <- deriv(~function, "x")  
  return(derivation(number))  
}

例如:

代码语言:javascript
复制
derivation(x^2, 3) {  
  derivation <- 2*x  
  return(2*3)  
}

我不在乎我是否要把函数放在大括号或表达式的开头。变量将始终是x。也可以使用D

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 12:24:48

一种可能性是:

代码语言:javascript
复制
f <- function(fun,val) {
   expr <- substitute(fun)
   d <- deriv(expr,"x",function.arg=TRUE)
   g <- attr(d(val),"gradient")
   return(g)
}
f(x^2,3)
  • substitute()将参数fun转换为表达式,而不计算它。
  • deriv(...,function.arg=TRUE)返回一个函数,该函数计算值并将导数作为属性包括在内。
  • d(val)调用该函数
  • attr(.,"gradient")提取梯度

如果要同时返回函数值及其梯度(作为两个元素向量),则可以使用

代码语言:javascript
复制
r <- d(val)
return(c(c(r),attr(r,"gradient"))

在函数中(内部c(r)r中删除属性)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46321883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档