3

以下のコードは、matlabコマンドパネルに完全に表示されます

fprintf('%f\n%f\n%f\n',MDR,TER,FAR);

各変数は改行として表示されます

しかし、この方法を試し、メモ帳で新しく作成されたテキストファイルを確認すると、新しい行が表示されません。

fileID=fopen('my_file.txt','w');
fprintf(fileID,'%f\n%f\n%f\n',MDR,TER,FAR);
fclose(fileID);

何が問題なのか?テキストファイルでは、すべての変数が改行やスペースなしで書き込まれます

ありがとうございました

4

1 に答える 1

5

ファイル名のバックスラッシュから、Windows プラットフォームで作業していると思われます。Unix と Windows では、異なる改行文字が使用されます。Windows は\r\nas new line を使用しますが、Linux と OSX は を使用します\n。一方、Matlab はコマンド パネルで Unix の改行を使用します。

dlmwriteテキストファイルの書き込みに使用したい場合があります。これは一般に よりも信頼性が高く、高速ですfprintf

例:

dlmwrite('my_file.txt',[MDR;TER;FAR],'newline','pc')

重要な部分は、入力[MDR;TER;FAR]が行列であることです。すべての行は新しい行になり、列は標準の区切り記号で区切られます,

于 2012-08-30T13:16:40.787 に答える