2014-04-09 39 views
0

我試圖在Matlab中以緊湊格式寫一些位序列來測試我的golomb-rice壓縮代碼。這是對C代碼的測試。這在Matlab中是「僞裝」的,因爲它具有位操作沒有意義。但它是爲了測試。我有'10111'之類的東西,並希望將它寫入一個字符到一個文本文件中,然後看看我實現了什麼壓縮。我無法找到一種在matlab中將一個位序列寫入ASCII的方法。任何幫助?以ASCII格式寫入位序列MATLAB

+0

只是爲了澄清:例如「01100001」,你想寫一個文本文件「a」嗎? – Lisa

回答

1

據我所知,您希望將您的1 s和0 s保存爲「二進制」格式,而不是包含字符'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。

+0

正是我所需要的非常感謝。 –