问题重现
在做无人机通信仿真的时候,其中有一个距离约束,具体约束如下:
我的利用CVX描述这个的代码是:
for m = 2: M
norm((Q(:,m) - Q(:,m-1))) <= 255;
end
其中Q是一个2*M的矩阵,其中储存着二维坐标
这个时候报错:
Disciplined convex programming error:
Illegal operation: {log-affine} - {log-affine}
出错 - (line 21)
z = plus( x, y, true, cheat );
出错 traOpt (line 56)
norm((Q(:,m) - Q(:,m-1))) <= 255;
出错原因
这里产生的错误是因为错误的使用了CVX的gp模式,它的DCP规则和非gp模式下的规则是不一样的,记录一下,避免再次踩坑,也给大家一个提醒。