[問題] 自動改變function中的local variable

看板R_Language作者 (消費券收購商)時間9年前 (2016/11/04 01:10), 9年前編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用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

11/04 01:47, , 1F
把3換成一個變數 seq(0,3,0.1) 再利用loop或apply系列
11/04 01:47, 1F

11/04 01:48, , 2F
如果是卡在不知道怎麼餵入grad,把dummy擴展成list
11/04 01:48, 2F

11/04 01:50, , 3F
再利用lapply(dummy, ...)
11/04 01:50, 3F

11/04 02:04, , 4F
我回文好了
11/04 02:04, 4F

11/04 02:36, , 5F
等等... 你的例子即使常數項有變化但grad和hessian不變
11/04 02:36, 5F

11/04 02:36, , 6F
可否把需要的package說明清楚?
11/04 02:36, 6F
文章代碼(AID): #1O6s-7WQ (R_Language)
文章代碼(AID): #1O6s-7WQ (R_Language)