安装完CVXQUAD后使用一切正常,但是关闭matlab后再次启动时,突然出现错误:函数或变量 'op_rel_entr_epi_cone' 无法识别。
试了删除exponential.m文件,又重新复制到cvx的sets下,但是错误变成了:无法将类型为 struct 的值用作索引。这意味着CVXQUAD不能正常工作。使用如下代码测试CVXQUAD是否能正常干工作:
n = 4;
M = randn(n,n);
M = M*M';
cvx_begin
variable X(n,n) symmetric
minimize quantum_rel_entr(M,X)
subject to
diag(X) == ones(n,1)
cvx_end
出现同样的错误:无法将类型为 struct 的值用作索引。
于是:
1. 重新装了一下CVX,在command window中输入:cvx_setup。
2. 然后在command window中输入如下命令: addpath(genpath('.../cvxquad-master')).
问题解决了。后来发现只需要执行上述两个步骤, 无需删除exponential.m文件再粘贴过去.
虽然问题解决了,但是我并不清楚导致CVX不能正常工作的原因,以自己的经历供大家参考。
最后
以上就是傲娇鸵鸟最近收集整理的关于使用CVXQUAD时出现,函数或变量 ‘op_rel_entr_epi_cone‘ 无法识别。的全部内容,更多相关使用CVXQUAD时出现,函数或变量内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复