普通环境中要使用log函数,可以用np.log或者math.log
这是可以运行成功的
在cp中用相同的逻辑使用cp.log发现报错:
TypeError: __init__() takes 2 positional arguments but 3 were given
或者就是这样报错:
TypeError: must be real number, not index
等
这个是因为cp里面结果的类型是
<class 'cvxpy.atoms.affine.binary_operators.multiply'>
网上找了很多都是加一个括号就可以,但是好像不是在cvxpy里出的问题,通过查document,发现改成这样就可以:
S_q=cp.logistic(cp.multiply(P,A))
写logistic或者log没差