matlab错误矩阵维度必须一致

时间:2013-01-27 08:20:33

标签: matlab

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

??? Error using ==> plus

矩阵尺寸必须达成一致。

==>中的错误dwtembed at 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

您能否帮助我提供所提供的信息。

1 个答案:

答案 0 :(得分:1)

您的尺寸不匹配。您正尝试添加CH1大小为118x116x3(一个3D数组),其中on_sequence_h为118x116(2D矩阵)。此操作未定义

您可以使用bsxfun

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