我正在尝试使用命令将32位二进制值写入matlab中的文件。 (我在线使用matlab)
但是,当我尝试写入文件时,我只发现\n
打印到文件而不是值。任何人都可以帮忙解决这个问题吗?
以下是代码
fid = fopen('hello.txt','w');
for i = 1 : 30
y = (atanh(2^-i))*((2^32)/360)
n = 32
m = 0
d2b = fix(rem(y*pow2(-(n-1):m),2))
fprintf(fid,'\n',d2b);
end
fclose(fid);
答案 0 :(得分:1)
当前的问题是,提供给fprintf
的格式字符串不包含任何信息,告知您有一个数字输入,您要打印到该文件,因此它只会打印换行符,这正是你告诉它要做的。
在您的情况下,最简单的方法是将d2b
转换为0和1的字符串,然后使用'%s'
格式说明符进行编写。< / p>
str = num2str(d2b.').';
fprintf(fid, '%s\n', str);