2017-02-14 44 views
0

すべて私は、テキストファイルがMatlabの出力をテキストファイルにエクスポートする最も簡単な方法であると考えました(csvwriteは数値のみをサポートし、xlswriteは日付/時刻を扱う際に痛みがあります)。Matlabからテキストファイルにデータをエクスポートする

マイデータは、日付、タイムスタンプ、文字列(株価)、値(株価)で構成されます。データには、ヘッダーとしての列名もあります。 データをテキストファイルにエクスポートするにはどうすればいいですか(csvとして読まれます)。私は広範な読書をしましたが、私はまだ立ち往生しています。

初心者のためのアドバイスはありますか?おかげで多く

答えて

0

fprintf()はあなたの友人です。

はしかし、私はここで少し例を書き留めるつもりです:

x = 0:.1:1; 
A = [x; exp(x)]; 

fileID = fopen('exp.txt','w'); 
fprintf(fileID,'%6s %12s\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\n',A); 
fclose(fileID); 

の最初の呼び出しexp.txtと呼ばれるテキストファイルに指数関数の短い表を書きますfprintfはヘッダーテキストxとexp(x)を出力し、2番目の呼び出しは変数Aの値を出力します。

Microsoft®Notepadでファイルを読み込む予定の場合は、 '\ r \ n' '新しい行に移動します。

fprintf(fileID,'%6s %12s\r\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\r\n',A); 

MATLAB®のインポート機能、すべてのUNIX®アプリケーションを、およびMicrosoft Wordやワードパッドは改行指標として「\ n」を認識します。たとえば、次のようにfprintfのために呼び出しを置き換えます。

typeコマンドを使用してファイルの内容を表示します。

type exp.txt 

    x  exp(x) 
    0.00 1.00000000 
    0.10 1.10517092 
    0.20 1.22140276 
    0.30 1.34985881 
    0.40 1.49182470 
    0.50 1.64872127 
    0.60 1.82211880 
    0.70 2.01375271 
    0.80 2.22554093 
    0.90 2.45960311 
    1.00 2.71828183 

Hereさらに詳しい情報といくつかの例があります。

+0

Thanks Leos313。私はこの例をmatlabのヘルプで見ましたが、それを適用しようとしましたが、 "fprintfを使用しているエラーが発生しました クラス 'table'のオブジェクトを 'double'に変換できません。何か案が?また、fprintを使用して文字列、日付、タイムスタンプを処理する方法は?ありがとうたくさん –

+0

あなたのコードを共有するので、私たちはエラーを再現しようとすることができます。いずれにしても、二重または浮動小数点値を出力するために "%f"を使用していますが、データは二重ではありません。あなたのワークスペースを見て、fprintf命令の正確なオプションを使用してください。 – Leos313

関連する問題