我正在尝试调试部分代码,但收到此错误:
??? 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
您能否帮助我提供所提供的信息。
答案 0 :(得分:1)
您的尺寸不匹配。您正尝试添加CH1
大小为118x116x3(一个3D数组),其中on_sequence_h
为118x116(2D矩阵)。此操作未定义
您可以使用bsxfun
:
cH1 = bsxfun( @plus, cH1, k*pn_sequence_h );