2017-02-26 15 views
0

内のファイルに32ビットのバイナリ値を書き込みます。私は、ファイルに書き込もうとしてしかし、私は唯一の\nではなく、値のファイルに出力を見つける を(私はオンラインMathWorks社のMATLABを使用しています)。誰も問題を助けることができますか?以下はは、私はMATLABでファイルにコマンドを使用して計算し、32ビットのバイナリ値を記述しようとしていますMathWorks社のMATLAB

即時問題はfprintfに提供し、あなたのフォーマット文字列を使用すると、ファイルに印刷したいのですが、数値入力があることを通知任意の情報が含まれていないということであるコード

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

ですそれで、改行だけが表示されます。改行は、あなたがしたこととまったく同じです。

あなたの場合、最も簡単なことはおそらくd2bを0と1の文字列に変換し、'%s'フォーマット指定子を使用して書き込むことです。

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

私はあなたの提案を実装しようとしましたが、作成されたファイルはバイナリです。私は、コマンドラインに表示されたものであり、 '00000000011000111111111110000101'、' 00000000001011100111111100011001'のような値を期待していました。しかし、ここでは出力が異なっています – user2559758

+0

@ user2559758あなたはバイナリが欲しいと言った...それは今修正されました。 – Suever

関連する問題