将32位二进制值写入matlab中的文件

时间:2017-02-26 22:19:12

标签: matlab file-io

我正在尝试使用命令将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);

1 个答案:

答案 0 :(得分:1)

当前的问题是,提供给fprintf的格式字符串不包含任何信息,告知您有一个数字输入,您要打印到该文件,因此它只会打印换行符,这正是你告诉它要做的。

在您的情况下,最简单的方法是将d2b转换为0和1的字符串,然后使用'%s'格式说明符进行编写。< / p>

str = num2str(d2b.').';
fprintf(fid, '%s\n', str);