2009-05-29 11 views
3

マトリックスをテキストファイルに保存したいので、別のプログラムで読むことができます。今私が使用します。どのようにデータを指定された形式のテキストファイルに保存しますか?

save('output.txt', 'A','-ascii'); 

しかし、これは

6.7206983e+000 2.5896414e-001 
6.5710723e+000 4.9800797e-00 
6.3466334e+000 6.9721116e-001 
5.9975062e+000 1.3346614e+000 
6.0224439e+000 1.8127490e+000 
6.3466334e+000 2.0517928e+000 
6.3965087e+000 1.9721116e+000 

としての私のファイルを保存します。しかし、私は彼らがすべての数字と「E表記法」及びませんせずに保存したいと思います。これを行う簡単な方法はありますか?

編集:ありがとうございます!それはうまく動作します。申し訳ありませんが、私はロールバックを使用して編集を混乱させると思います。

+0

問題はありませんが、フォーマットはまだよく見えます...そしてあなたは自分自身を「クリーンアップ」バッジにしました! ;) – gnovice

答えて

10

私はあなた自身のためで出力にどのような形式のデータを定義することができますfprintf機能を、使用する例:。

fid = fopen('output.txt', 'wt'); 
fprintf(fid,'%0.6f %0.6f\n', A.'); 
fclose(fid); 

この意志の出力は、高精度の6桁の行列Aをした後、小数点。また、関数fopenfcloseを使用する必要があることに注意してください。

+0

編集者には、FPRINTFが列方向から読み取るために2行N列の行列に 'A 'を転記するコードに'。'が必要であることに注意してください。 – gnovice

3

パフォーマンスが必要な場合は、&カスタムフォーマットを使用してください。

dlmwriteは、(フィールド単位ではなくグローバルな)書式設定を制御します。しかし、パフォーマンスが低下します。私は数年前にテストを実行しました.dlmwriteはfopen/fprintf/fcloseより5〜10倍遅いものでした。 (編集:私は15x10000行列のような大きな行列を参照しています)

関連する問題