for j = 1:numel(binArr(i,:))位置 1 的索引超出数组范围(不能超过 5040)。
时间: 2024-03-10 16:44:50 浏览: 97
多维数组-版块汇总matlab手册教程帮助命令大全-MATLAB实验仿真与算法设计
非常抱歉,我的之前的回答有误。在上面的代码中,我使用了`numel(binArr(i,:))`来获取二进制字符串的长度,但这会导致在最后一次循环中出现数组索引超出范围的错误。
您可以使用`length()`函数来获取字符串的长度,这样就不会出现这个问题。以下是更新后的代码:
```matlab
e = [10 20 30 40]; % 十进制数组
binArr = dec2bin(e, 16); % 转换为16位二进制字符串数组
% 将每一位二进制都存储为一个独立的元素
bitArr = cell(size(binArr));
for i = 1:numel(binArr)
for j = 1:length(binArr(i,:))
bitArr{i,j} = binArr(i,j);
end
end
```
这样,`bitArr`就是一个包含每个二进制位的独立元素的单元格数组。
阅读全文