作者TZULIU (消费券收购商)
看板R_Language
标题[问题] 自动改变function中的local variable
时间Fri Nov 4 01:10:29 2016
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
想取(z^2)*(y^2)+a於z=1和y=2(在不同的a值下)的gradient与Hessian,
在下面范例中,请问有没有方法可以透过loop持续改变常数项3(e.g. 0到3)?
[程式范例]:
dummy <- function(x) {
z <- x[1]; y <- x[2]
rez <- (z^2)*(y^3)+3
rez
}
grad(dummy, c(1,2))
hessian(dummy, c(1,2))
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 168.150.120.200
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1478193031.A.81A.html
※ 编辑: TZULIU (168.150.120.200), 11/04/2016 01:11:36
1F:→ andrew43: 把3换成一个变数 seq(0,3,0.1) 再利用loop或apply系列 11/04 01:47
2F:→ andrew43: 如果是卡在不知道怎麽喂入grad,把dummy扩展成list 11/04 01:48
3F:→ andrew43: 再利用lapply(dummy, ...) 11/04 01:50
4F:→ andrew43: 我回文好了 11/04 02:04
5F:→ andrew43: 等等... 你的例子即使常数项有变化但grad和hessian不变 11/04 02:36
6F:→ andrew43: 可否把需要的package说明清楚? 11/04 02:36