matlab quantizer以及文件读写(转载)
1.q = quantizer(\'fixed\', \'ceil\', \'saturate\', [8 6]);
imgbits=num2bin(q,k);
这是将一个小数k,比如0.256 变成二进制。小数点后面3位用6位二进制表示。
现再将编出来的二进制 恢复成10进制 小数:
二进制小数转换没有现成的函数,要自己编的。
或者你利用二进制整数的转换函数bin2dec()
比如二进制的0.1101
那你就先把小数部分转换成十进制整数
>> d=bin2dec(\'1101\')
d =
13
然后再根据位数,小数点后面4位,就除以2^4
>> d/2^4
ans =
0.8125
2.写文件:
fid=fopen(\'sin.coe\',\'wt\');
fprintf(fid, \'%d\',a);
fclose(fid);
读取文件:
(1)fid1=fopen(\'fx.txt\',\'r\'); %得到文件号
[f,count]=fscanf(fid,\'%f %f\',[12,90]);
%把文件号1的数据读到f中。其中f是[12 90]的矩阵
%这里\'%f %f\'表示读取数据的形势,他是按原始数据型读出
fclose(fid);%关闭文件
(2) load data.txt
data
(3) a=importdata(\'data.txt\');
请发表评论