2017-02-01 19 views
1

csvファイルに追加します。現在のコードは次の行を出力します:a; b; c; d ; b; c; d; 追加の ';' dの終わりに。それは必須ですcsvファイルの各行の末尾に区切り文字を追加します。MATLAB

matrix = [a,b,c,d] 
dlmwrite('matrix.csv', matrix, 'delimiter',';','-append','roffset',0, 'precision',14) 

助けていただければ幸いです。 私は変数をa、b、c、dを数値として保持しなければならなかった、またはそれを文字ベクトル(または何か)にしてCSVを面白く見せるようにした。

+0

1.-:これはで実行あなたが与えてき1D行列、のために働く

function write_to_csv(filepath, matrix) csv = fopen(filepath, 'a+'); % check what sort of open you'd like : https://uk.mathworks.com/help/matlab/ref/fopen.html#inputarg_permission for ii = 1 : numel(matrix) % this loop depends on the dimensions of your matrix fprintf(csv, '%s;', matrix(ii)); % check fprintf return type, depending on the data in the matrix : https://uk.mathworks.com/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srchtitle#inputarg_formatSpec end fclose(csv); end 

:ここ

、次のような機能のものを作ることができます"素敵"に見える?あなたは単にデータを格納しているだけです。 2.なぜ最後の ';'が必要ですか?さらに行を追加すると、読み込みコードが破損する可能性が非常に高くなります。 –

+0

これは、すべての行を配列として読み取る別のソフトウェアに組み込まれています。すべての行の末尾に ';'がないと、そのソフトウェアがクラッシュします。 – Lucas

+1

私のsuggetion:正しい書式設定で 'fprintf'を使用してください –

答えて

1

MatLab inbuild CSVの書込みメソッド。あなた自身の.CSV書き込みメソッドをコーディングしてみませんか?あなたはcsvファイルを必要としない理由

write_to_csv('matrix.csv',matrix) 
+0

ねえ、素晴らしい答え!ありがとうございました! この質問を私にチェックしてもらえますか? http://stackoverflow.com/questions/41981820/matlab-fprintf-precision-not-working – Lucas

関連する問題