【文献阅读笔记】利用CVX工具箱求解复数问题的方法 | 您所在的位置:网站首页 › 复数模怎么处理 › 【文献阅读笔记】利用CVX工具箱求解复数问题的方法 |
文章目录
方法一:直接使用hermitian方法二:将复数问题转换为实数问题
方法一:直接使用hermitian
方法一: 使用hermitian关键词 CVX工具箱支持复数的问题,因此可以直接使用复数的模式 使用hermitian 关键词 代码模式如下: cvx_begin variables X(n,n) hermitian minimize (real(trace(C*X))) subject to for i=1:p trace(A(:,:,i)*X) >= b(i); end for i=p+1:m trace(A(:,:,i)*X) == b(i); end X = hermitian_semidefinite(n); cvx_end约束中第一个循环指的是约束中的不等约束 约束中第二个循环指的是约束中的等式约束 方法二:将复数问题转换为实数问题方法二: 将复数问题转换为实值问题 按照我的理解,是将复数转换为一个列向量。然后一部分表示实部,一部分表示虚部。 举一个例子: 对于一个MIMO系统来说,接收信号可以表示为 y=Hs+ny是接收到的信号,H是信道矩阵,s是发送的信号,n是噪声。 最小二乘法可以表示为: min norm(y-Hs)^2对于这个问题,y,H,s都是复数,因此将他们实部和虚部分开 R(y)表示的是y的实部,I(y)表示的是y的虚部,其他的类似。这样虚数部分的运算就可以转换到实数部分上的运算。 上述优化问题就可以变为: 然后进行求解。 |
CopyRight 2018-2019 实验室设备网 版权所有 |