看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 矩陣的範圍不能是負值 [程式範例]: 想找出一個scalar function的optimal value所以用了optim這個function~ 目標函式是個向量化函式~ 也就是說給一個n x k的matrix會吐出n x 1的vector 有丟過一些值進去算過~ 都有給出想要的結果~ 但不知道為什麼~ 一丟進optim裡馬上就掛了~ 跳出"錯誤在matrix(rep(mu_x, length(x)), nrow = s) : 矩陣的範圍不能是負值"~ 附上程式碼如下: http://nopaste.info/e864a2b39d.html 本來這是跑得動的~ 但是因為後來加了幾個變數(sig_v, sig_x跟sig_epo)必須是正的~ 在負數上的函數值要為0(因為函數統一回傳log值,所以在code中是指定為-Inf)~ ind_vs那幾行程式碼之後就出問題了.... 謝謝大家 [關鍵字]: 矩陣 範圍不能是負值 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.182 ※ 編輯: Dboy 來自: 140.112.4.182 (02/27 16:36)
Dboy:剛剛複製貼上沒弄好~Objective_Fiction(theta,...後面有些切 02/27 16:54
Dboy:到~簡單的說都是一些係數~theta才是我要optimize的對象~ 02/27 16:55
clickhere:?constrOptim 02/27 23:21
clickhere:或做變數變換改成最佳化 log(sig_v) 02/27 23:23
Dboy:會用optim其實是因為跑完後要丟另外一個package~裡面它是用 02/28 00:37
Dboy:optim在做最佳化~所以就算用constrOptim跑得出來~後面還是會 02/28 00:38
Dboy:出事....我只是不懂怎樣會出現"矩陣範圍不能是負值"這種error 02/28 00:38