作者Dboy (廢物)
看板R_Language
標題[問題] 矩陣的範圍不能是負值
時間Thu Feb 27 16:21:29 2014
[問題類型]:
程式諮詢(我想用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)
1F:→ Dboy:剛剛複製貼上沒弄好~Objective_Fiction(theta,...後面有些切 02/27 16:54
2F:→ Dboy:到~簡單的說都是一些係數~theta才是我要optimize的對象~ 02/27 16:55
3F:→ clickhere:?constrOptim 02/27 23:21
4F:→ clickhere:或做變數變換改成最佳化 log(sig_v) 02/27 23:23
5F:→ Dboy:會用optim其實是因為跑完後要丟另外一個package~裡面它是用 02/28 00:37
6F:→ Dboy:optim在做最佳化~所以就算用constrOptim跑得出來~後面還是會 02/28 00:38
7F:→ Dboy:出事....我只是不懂怎樣會出現"矩陣範圍不能是負值"這種error 02/28 00:38