作者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://www.ptt.cc/bbs/R_Language/M.1478193031.A.81A.html
※ 編輯: TZULIU (168.150.120.200), 11/04/2016 01:11:36
→ andrew43: 把3換成一個變數 seq(0,3,0.1) 再利用loop或apply系列 11/04 01:47
→ andrew43: 如果是卡在不知道怎麼餵入grad,把dummy擴展成list 11/04 01:48
→ andrew43: 再利用lapply(dummy, ...) 11/04 01:50
→ andrew43: 我回文好了 11/04 02:04
→ andrew43: 等等... 你的例子即使常數項有變化但grad和hessian不變 11/04 02:36
→ andrew43: 可否把需要的package說明清楚? 11/04 02:36