hongyu.. 2022-02-21 12:16 采纳率: 100%
浏览 2464
已结题

matlab用于矩阵乘法的维度不正确

问题遇到的现象和发生背景

编写代码时,提示用于矩阵乘法的维度不正确,但是我检查了矩阵的维度,保第一个矩阵中的列数与第二个矩阵中的行数匹配,不知道问题出在了哪里

问题相关代码,请勿粘贴截图
%% step2:优化预编码向量Wx和人工噪声协方差Zx
S3=[h_I3.',eye(M_irs)].';     %转置是.',共轭转置是'
S4=[h_I4.',eye(M_irs)].';
%% 对于任何可行点W1t,W2t,Zxt
M1=h_BI'*theta0'*(h_I1'*h_I1)*theta0*h_BI;
M2=h_BI'*theta0'*(h_I2'*h_I2)*theta0*h_BI;
W1t=eye(Nt,Nt);
W2t=eye(Nt,Nt);
Zxt=eye(Nt,Nt);
cvx_begin sdp
    variables W1x(Nt,Nt) W2x(Nt,Nt) 
    variable Zx(Nt,Nt) complex semidefinite
    variable p13  nonnegative
    variable p23  nonnegative
    variable p14  nonnegative
    variable p24  nonnegative
obj=-log(real(trace(Zx*M1))+sigmak^2+real(trace(M1*W1x))+real(trace(M1*W2x)))-log(real(trace(Zx*M2))+sigmak^2+real(trace(M2*W1x)))+real(trace(M2*W2x))-real(trace((-(1/log(2))*(M1/real((trace(Zxt*M1))+sigmak^2+real(trace(M1*W2t)))+M2/(real(trace(Zxt*M2))+sigmak^2+real(trace(M2*W1t)))))'*Zx))-real(trace((-(1/log(2))*M2/(real(trace(Zxt*M2))+sigmak^2+real(trace(M2*W1t))))'*W1x))-real(trace((-(1/log(2))*M1/real((trace(Zxt*M1))+sigmak^2+real(trace(M1*W2t))))'*W2x))-re;
minimize obj
    subject to 
    trace(W1x)+trace(Zx)<=P;
    trace(W2x)+trace(Zx)<=P;
[sigmak^2*(2^(re)-1)-p13,zeros(1,M_irs);zeros(M_irs,1),p13*epsilong_e^(-2)*eye(M_irs)]+S3*theta0*h_BI*((2^(re)-1)*Zx-W1x)*h_BI'*theta0'*S3'>=0;
%矩阵维度:前面是(M_irs+1)*(M_irs+1)的矩阵;S3是(M_irs+1)*(M_irs);theta0是(M_irs)*(M_irs);h_BI是(M_irs)*16;Zx,W1x是16*16;
Zx>=0;
W1x>=0;
W2x>=0;
cvx_end


运行结果及报错内容

提示这句:[sigmak^2*(2^(re)-1)-p13,zeros(1,M_irs);zeros(M_irs,1),p13epsilong_e^(-2)eye(M_irs)]+S3theta0h_BI*((2^(re)-1)*Zx-W1x)*h_BI'*theta0'S3'>=0;
错误使用 *
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.
'。

我的解答思路和尝试过的方法

这是工作区的值

img

img

我想要达到的结果

不报错

  • 写回答

2条回答 默认 最新

  • 技术专家团-Joel 2022-02-21 15:03
    关注

    尝试一下这个

    [sigmak^2*(2^(re)-1)-p13,zeros(1,M_irs);
        zeros(M_irs,1),p13*epsilong_e^(-2)*eye(M_irs)]+...
        (S3*theta0*h_BI)*((2^(re)-1)*Zx-W1x)*((S3*theta0*h_BI)');
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月21日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看