用ASCII格式MATLAB编写位序列



我正试图在Matlab中以紧凑格式编写一些位序列,以测试我的golomb rice压缩代码。这是对C代码的测试。这在Matlab中有点"伪造",因为进行位运算是没有意义的。但这是为了测试。我有一个类似"10111"的东西,我想把它写成一个文本文件中的一个字符,然后看看我实现了什么压缩。我在matlab中找不到将位序列写入ASCII的方法。有什么帮助吗?

据我所知,您希望将10保存为"二进制"格式,而不是由字符"1"one_answers"0"组成的文本。下面是一个如何做到这一点的例子:

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

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

在上面的例子中,得到的文件大小正好是10字节。

相关内容

  • 没有找到相关文章

最新更新