工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> MATLAB

MATLABからのデータエクスポート:ファイル形式とテクニック

MATLABでのデータエクスポート(出力)とは、ファイルに書き込むことを意味します。MATLABでは、ASCIIファイルを読み取る他のアプリケーションでデータを使用できます。そのために、MATLABはいくつかのデータエクスポートオプションを提供しています。

以下のタイプのファイルを作成できます。

これらに加えて、スプレッドシートへのデータエクスポートも可能です。

数値配列を区切り文字付きASCIIデータファイルとしてエクスポートするには、2つの方法があります。

save関数を使用する構文は以下の通りです。

 save my_data.out num_array -ascii 

ここで、my_data.outは作成される区切り文字付きASCIIデータファイル、num_arrayは数値配列、-asciiは指定子です。

dlmwrite関数を使用する構文は以下の通りです。

 dlmwrite('my_data.out', num_array, 'dlm_char') 

ここで、my_data.outは作成される区切り文字付きASCIIデータファイル、num_arrayは数値配列、dlm_charは区切り文字です。

例

以下の例で概念を説明します。スクリプトファイルを作成し、以下のコードを入力します。

ライブデモ
 num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0]; save array_data1.out num_array -ascii; type array_data1.out dlmwrite('array_data2.out', num_array, ' '); type array_data2.out 

ファイルを実行すると、以下の結果が表示されます。

 1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00 4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00 7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00 1 2 3 4 4 5 6 7 7 8 9 0 

save -asciiコマンドとdlmwrite関数は、セル配列を入力として使用できません。セル配列の内容から区切り文字付きASCIIファイルを作成するには、

save関数で文字配列をASCIIファイルに書き込むと、文字のASCII値がファイルに書き込まれます。

例えば、'hello'という単語をファイルに書き込んでみましょう。

ライブデモ
 h = 'hello'; save textdata.out h -ascii type textdata.out 

MATLABは上記のステートメントを実行し、以下の結果を表示します。これは、文字列'hello'の文字を8桁のASCII形式で表したものです。

 1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02 

ダイアリファイルへの書き込み

ダイアリファイルは、MATLABセッションのアクティビティログです。diary関数は、グラフィックスを除いて、セッションの完全なコピーをディスクファイルに作成します。

ダイアリ機能をオンにするには、以下を入力します。

 diary 

オプションで、ログファイル名を指定できます。

 diary logdata.out 

ダイアリ機能をオフにするには、以下を入力します。

 diary off 

ダイアリファイルはテキストエディタで開けます。

低レベルI/Oでのテキストデータファイルへのエクスポート

ここまでは数値配列のエクスポートを見てきました。しかし、数値と文字データの組み合わせ、非長方形の出力ファイル、非ASCIIエンコーディングのファイルなど、他のテキストファイルを作成する必要がある場合があります。これらの目的には、低レベルfprintf関数を使用します。

低レベルI/Oファイル操作と同様に、エクスポート前にfopen関数でファイルを開くか作成し、ファイル識別子を取得する必要があります。デフォルトでは、fopenは読み取り専用でファイルを開きます。'w'や'a'など、書き込みまたは追加の権限を指定する必要があります。

ファイル処理後、fclose(fid)関数でファイルを閉じる必要があります。

以下の例で概念を説明します。

例

スクリプトファイルを作成し、以下のコードを入力します。

ライブデモ
 % 2行の行列yを作成 x = 0:10:100; y = [x; log(x)]; % 書き込み用にファイルを開く fid = fopen('logtable.txt', 'w'); % テーブルヘッダー fprintf(fid, 'Log Function\n\n'); % 列順で値を出力 % ファイルの各行に2つの値が出現 fprintf(fid, '%f %f\n', y); fclose(fid); % 作成されたファイルを表示 type logtable.txt 

ファイルを実行すると、以下の結果が表示されます。

 Log Function 0.000000 -Inf 10.000000 2.302585 20.000000 2.995732 30.000000 3.401197 40.000000 3.688879 50.000000 3.912023 60.000000 4.094345 70.000000 4.248495 80.000000 4.382027 90.000000 4.499810 100.000000 4.605170 

MATLAB

  1. Azure File Storage解説:安全で拡張可能なクラウドストレージの初心者ガイド
  2. C言語ファイルI/O完全ガイド:作成、オープン、管理の実践
  3. MATLAB徹底解説:数値計算環境の決定版
  4. MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
  5. MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
  6. MATLAB行列完全マスター:作成・参照・操作・削除の基礎
  7. MATLAB:多次元配列と特殊配列をマスターする
  8. MATLABコロン演算子をマスター:ベクトル作成と効率的な反復処理
  9. MATLABの数値型:型、格納、変換
  10. MATLAB文字列をマスター:作成と活用ガイド
  11. MATLAB関数:定義、ワークスペース、入出力