我有一段代码可以输出我想要的内容,但格式错误
for k=1:100
bin(k,:)=dec2bin(randi([0 31]),5);
end
我希望输出为 100x5 double 组,每个单元格一位(0 或 1 值)。
我尝试过使用double()
函数...
for k=1:100
bin(k,:)=double(dec2bin(randi([0 31]),5));
end
...但这会返回正确的格式,但值错误。
我的行话可能有点偏离,我很抱歉(我是否在错误的上下文中使用了 cell、double 等?)
谢谢你帮助我。
最佳答案
有很多方法可以做你想做的事。最简单的实际上是从一开始就生成二进制数组,没有循环:
bin = rand(100, 5) > 0.5
其他替代方案:
关于matlab - 在处理二进制数时,如何从 char 格式转换为 double 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565125/