cvx使用报错 10

cvx_beginvariablecij(10,10);P=[5249165188202123];cmin=[31122720311828161513];cmax=[55... cvx_begin
variable cij(10,10) ;
P=[5 24 9 16 5 18 8 20 21 23 ];
cmin=[31 12 27 20 31 18 28 16 15 13 ];
cmax=[55 36 51 44 55 42 52 40 39 37 ];
dj=[22 14 36 23 29 29 27 12 13 19];
ci=sum(cij');
cj=sum(cij);
for i=1:10
U(i)=12*(60-P(i))/60*log(0.9*ci(i)-cmin(i)+1);
end
for j=1:10
L(j)=cvx(0.01*cj(j)^2+0.015*cj(j));
end
cost=sum(U)-sum(L);
maximize( geo_mean( cost ) );
subject to
for i=1:10
cmin(i)<=0.9*ci(i)<=cmax(i);
end
for j=1:10
cj(j)<=dj(j);
end
for i=1:10
for j=1:10
cij(i,j)>=0;
end
end
cvx_end
在第十行报错
从 cvx 转换为 double 时出现以下错误:
无法从 cvx 转换为 double。

出错 youhua (line 10)
U(i)=12*(60-P(i))/60*log(0.9*ci(i)-cmin(i)+1);
展开
 我来答
腾讯电脑管家
2018-07-05 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
展开全部
cvx是求解凸优化问题的~你要最小化的目标函数是-(x^2+2*x+2)么,确定前面有负号么?因为有负号的话这个函数不是凸函数,所以cvx不能解,而且你这个函数的最小值一看就是负无穷,也没有解的意义~

只是想测试下的话,你去掉负号,cvx就可以解的~

如果你想系统了解下怎么用cvx的话,可以看下它的帮助cvx_user guide~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2018-04-29 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
Chevron公司,(CVX) 加州旧金山市,商业目标,一家致力于提供全球经济增长所必需之能源与化工产品的领先跨国公司。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式