作者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