0

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

??? 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

你能帮我提供所提供的信息吗?

4

1 回答 1

1

You have mismatch dimensions. You are trying to add CH1 of size 118x116x3 (a 3D array) with on_sequence_h which is 118x116 (a 2D matrix). This operation is not defined

You may use bsxfun:

cH1 = bsxfun( @plus, cH1, k*pn_sequence_h ); 
于 2013-01-27T08:26:50.920 回答