MATLAB错误:'错误使用 horzcat 要串联的数组的维度不一致' 解决方法
MATLAB错误:'错误使用 horzcat 要串联的数组的维度不一致' 解决方法
在使用 MATLAB 进行 M 序列的生成和可视化时,可能会遇到以下错误:
[Mseq, register_state] = mseq(6);
figure;
stem([register_state, Mseq]);
legend('移位寄存器','M序列');
xlabel('时间');
title('6阶M序列移位寄存器框图');
错误信息:
错误使用 horzcat
要串联的数组的维度不一致。
原因:
这个错误可能是因为 register_state 和 Mseq 的维度不一致导致的。Mseq 函数返回的 Mseq 是一个列向量,而 register_state 是一个行向量,因此无法直接进行水平拼接。
解决方法:
可以使用 transpose 函数将其中一个数组转置后再进行水平拼接。修改后的代码如下:
[Mseq, register_state] = mseq(6);
figure;
stem([register_state, Mseq']);
legend('移位寄存器','M序列');
xlabel('时间');
title('6阶M序列移位寄存器框图');
注意到 Mseq 在该函数中为列向量,而 register_state 是行向量,因此需要将 Mseq 转置后再进行拼接。
通过以上步骤,就可以成功解决该错误,并绘制出 6 阶 M 序列移位寄存器的框图。
原文地址: https://www.cveoy.top/t/topic/l3Xs 著作权归作者所有。请勿转载和采集!