全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4847 4
2015-07-06
R语言做拉格朗日乘数法是用BB包吗?自变量非负这个约束该怎么设置呢?用spg吗?
我的代码和软件提示错误如下:
p0=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
lo=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
ans<-spg(par=p0,lower=lo,fn=piandao)
ans


Error in spg(par = p0, lower = lo, fn = piandao) :
  function must return a scalar numeric value!


请高手帮忙解答
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-7-7 10:15:05
目测你的piandao写的有问题
function must return a scalar numeric value
这句话的意思是函数应该返回数值型标量结果
估计你的函数piandao不满足这个条件
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-8 18:33:55
enxizheng 发表于 2015-7-7 10:15
目测你的piandao写的有问题
function must return a scalar numeric value
这句话的意思是函数应该返回数 ...
函数是数值型的数学方程,应该没有问题。看了spg函数的代码,提到
func <- if (maximize)
        function(par, ...) c(-fn(par, ...))
    else function(par, ...) c(fn(par, ...))
    f.time <- system.time(f <- try(func(par, ...), silent = TRUE))
……
else if (!is.numeric(f) || 1 != length(f))
        stop("function must return a scalar numeric value!")
这个问题我现在也没有找到解决办法
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-8 19:29:21
BBQFYSY 发表于 2015-7-8 18:33
函数是数值型的数学方程,应该没有问题。看了spg函数的代码,提到
func
数值型也有标量和向量的区别, 再检查检查吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-8 20:41:02
谢谢你的帮助~
我再看看吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群