MATLAB 误差矩阵维度必须一致

  • 本文关键字:误差 MATLAB matlab
  • 更新时间 :
  • 英文 :


我正在尝试调试部分代码,但收到此错误:

??? Error using ==> plus

矩阵尺寸必须一致。

==> dwtembed 中的错误 48 cH1=cH1+k*pn_sequence_h;

这是代码段:

for kk=1:length(message_vector)  
pn_sequence_h=round(2*(rand(Mc/2,Nc/2)-0.5)); 
pn_sequence_v=round(2*(rand(Mc/2,Nc/2)-0.5)); 
if (message(kk) == 0) 
    cH1=cH1+k*pn_sequence_h; 
    cV1=cV1+k*pn_sequence_v; 
end 
end 

以下是变量的值:

kk 18096  
message_vector <150096x1 double>  
pn_sequence_h <118x116 double>  
Mc 236  
Nc 232  
pn_sequence_v <118x116 double>  
cH1 <118x116x3 double>  
cV1 <118x116x3 double>  
k   2

你能帮我提供信息吗?

您的尺寸不匹配。您正在尝试添加大小为 118x116x3(3D 数组)的CH1on_sequence_h为 118x116(二维矩阵)。未定义此操作

您可以使用bsxfun

cH1 = bsxfun( @plus, cH1, k*pn_sequence_h ); 

最新更新