以ASCII格式编写位序列MATLAB

时间:2014-04-09 09:21:53

标签: matlab ascii bit

我试图在Matlab中以紧凑格式编写一些比特序列来测试我的golomb-rice压缩代码。它是对C代码的测试。它有点伪造它'在Matlab中,因为进行位操作没有意义。但它是一个测试。我有像#10; 10111'并希望将它写入一个字符到一个文本文件,然后看看我实现了什么压缩。我找不到在matlab中将位序列写入ASCII的方法。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

据我了解,您希望将10以“二进制”格式保存为不包含字符“1”和“0”的文本。以下是如何操作的示例:

filename = 'test.bin';
x = randi([0 1], 1, 10*8);
fid = fopen(filename, 'w');
fwrite(fid, x, 'ubit1');

'ubit1'标志告诉fwrite函数将向量x解释为1位数。

在上面的示例中,生成的文件大小正好是10 Byte。