>> date 错误使用 horzcat 要串联的数组的维度不一致。 出错 date (第 27 行) subframe_data = [subframe_sync_code, subframe_data];
时间: 2024-03-11 20:47:09 浏览: 62
LTE-Resource-Mapper-beta1.rar_LTE resource_resource mapping
这个错误是因为在使用 `horzcat` 拼接两个矩阵时,它们的维度不一致导致的。在这里, `subframe_sync_code` 是一个逻辑向量,而 `subframe_data` 变量是一个随机生成的逻辑向量。因此,当您尝试将它们拼接在一起时,它们的维度不一致,就会出现错误。
为了解决这个问题,您可以将 `subframe_sync_code` 变量转换为一个与 `subframe_data` 同样长度的逻辑向量,然后再将它们拼接在一起。您可以像这样修改代码:
```matlab
% 生成子帧数据
subframe_data = randi([0, 1], 1, subframe_length);
% 生成副帧数据
superframe_data = '';
for i = 1:superframe_length
superframe_data = [superframe_data, dec2bin(randi([0, 255]), 8)];
end
superframe_data = superframe_data(:) == '1';
% 插入同步码
subframe_sync_code = hexToBinaryVector(subframe_sync_code)';
subframe_sync_code = repmat(subframe_sync_code, 1, subframe_length/length(subframe_sync_code));
subframe_data = [subframe_sync_code, subframe_data];
superframe_sync_code = hexToBinaryVector(superframe_sync_code)';
superframe_data = [superframe_sync_code, superframe_data];
```
在这里,我们使用 `repmat` 函数将 `subframe_sync_code` 变量复制多次,使其与 `subframe_data` 变量的长度相同,并将其转换为一个列向量。然后我们就可以像之前一样拼接两个向量了。
希望这可以帮助您解决问题!
阅读全文