ドキュメンテーション

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

dlmwrite

行列を ASCII 区切りファイルに書き込む

構文

  • dlmwrite(filename,M)
  • dlmwrite(filename,M,'-append')
  • dlmwrite(___,Name,Value)
  • dlmwrite(filename,M,delimiter)
  • dlmwrite(filename,M,delimiter,row,col)

説明

dlmwrite(filename,M) は、既定の区切り記号 (,) を使って配列要素を区切り、配列 M の数値データを ASCII 形式ファイル filename に書き込みます。ファイル filename が既に存在する場合、そのファイルは dlmwrite によって上書きされます。

dlmwrite(filename,M,'-append') は、データを既存ファイル filename の末尾に追加します。

dlmwrite(___,Name,Value) は、1 つまたは複数の名前と値のペアの引数を使って、区切り記号、改行文字、オフセットおよび精度オプションを追加指定します。

dlmwrite(filename,M,delimiter) は、指定された区切り記号 (delimiter) を使って配列要素を区切り、配列 M をファイル filename に書き込みます。

dlmwrite(filename,M,delimiter,row,col) は、指定された行 row と列 col で始まる配列を、保存先ファイルに書き込みます。delimiter で区切られた空の要素は、先行する行と列を埋めます。

すべて展開する

コンマ区切りデータの書き込み

サンプル データの配列 M を作成します。

M = magic(3);

既定の区切り記号 (,) を使って、行列 M をファイル 'myFile.txt' に書き込みます。

dlmwrite('myFile.txt',M)

ファイル内のデータを表示します。

type('myFile.txt')
8,1,6
3,5,7
4,9,2

タブ区切りデータの書き込みおよび精度の指定

サンプル データの配列 M を作成します。

M = magic(3)*pi
M =

   25.1327    3.1416   18.8496
    9.4248   15.7080   21.9911
   12.5664   28.2743    6.2832

有効桁数 3 桁の精度を使用して、行列 M をタブ文字で区切られたファイル 'myFile.txt' に書き込みます。

dlmwrite('myFile.txt',M,'delimiter','\t','precision',3)

ファイル内のデータを表示します。

type('myFile.txt')
25.1	3.14	18.8
9.42	15.7	22
12.6	28.3	6.28

データの書き込みおよびファイルへの追加

サンプル数値データの配列を 2 つ作成します。

M = magic(5);
N = magic(3);

行列 M をファイルにエクスポートし、空白を区切り記号として使用します。

dlmwrite('myFile.txt',M,'delimiter',' ');

既存データから 1 行分をオフセットして、行列 N をファイルに追加します。次に、ファイルを表示します。

dlmwrite('myFile.txt',N,'-append',...
'delimiter',' ','roffset',1)
type('myFile.txt')
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
  
8 1 6
3 5 7
4 9 2

dlmread を使用して 'myFile.txt' 内のデータを読み取ります。

dlmread('myFile.txt')
ans =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
     8     1     6     0     0
     3     5     7     0     0
     4     9     2     0     0

dlmread が 2 つの行列をファイルから読み取ると、小さい方の行列がゼロでパディングされます。

データの書き込みおよび精度の文字列としての指定

サンプル数値データの配列を作成します。

M = magic(3);

小数点以下 6 桁の精度を使用して、行列 M をファイルにエクスポートします。

dlmwrite('myFile.txt',M,'precision','%.6f');

ファイル内のデータを表示します。

type('myFile.txt')
8.000000,1.000000,6.000000
3.000000,5.000000,7.000000
4.000000,9.000000,2.000000

入力引数

すべて展開する

filename — 書き込むファイルの名前文字列

書き込むファイルの名前。文字列として指定されます。

例: 'myFile.txt'

データ型: char

M — 書き込み対象の数値データ行列 | 数値のセル配列

書き込み対象の数値データ。行列または 1 セルに 1 つの値をもつ数値のセル配列として指定します。

例: [1,2,3;4,5,6]

例: {1,2,3;4,5,6}

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | cell
複素数のサポート: はい

delimiter — 配列要素を区切る区切り記号',' (既定値) | 文字列

配列要素を区切る区切り記号。単一の文字または制御文字を含む文字列として指定します。'\t' を使用して、タブ区切りファイルを生成します。

例: ';'

例: '\t'

データ型: char

row — 行のオフセット0 (既定値) | スカラー

行のオフセット。スカラーとして指定します。行のオフセットは、数値データを書き込む前にスキップする行数を示します。row は 0 ベースであるため、row = 0 は、保存先ファイルの先頭行で書き込みを開始するよう MATLAB® に指示します。スキップされる行は指定された区切り記号を使用して入力されます。

col — 列のオフセット0 (既定値) | スカラー

列のオフセット。スカラーとして指定します。列のオフセットは、数値データを書き込む前にスキップする列数を示します。col は 0 ベースであるため、col = 0 は、保存先ファイルの先頭列で書き込みを開始するよう MATLAB に指示します。スキップされる列は指定された区切り記号を使用して区切られます。

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数個の名前と値のペアの引数を、任意の順番で指定できます。

例: dlmwrite('myFile.txt',M,'precision',4,'delimiter',' ') は、配列 M の数値を有効桁数 4 桁で書き込み、空白文字を使用して区切ります。

'delimiter' — 配列要素を区切る区切り記号',' (既定値) | 文字列

配列要素を区切る区切り記号。'delimiter' と単一の文字または制御文字を含む文字列で構成されるコンマ区切りペアとして指定します。'\t' を使用して、タブ区切りファイルを生成します。

例: 'delimiter',';'

例: 'delimiter','\t'

データ型: char

'roffset' — 行のオフセット0 (既定値) | スカラー

行のオフセット。'roffset' とスカラーで構成されるコンマ区切りペアとして指定します。行のオフセットは、数値データを書き込む前にスキップする行数を示します。これらの行は指定された区切り記号を使用して入力されます。新しいデータが既存ファイルに追加される場合、新しいデータは既存データの末尾からオフセットされます。

行のオフセットは 0 ベースであるため、'roffset',0 は、保存先ファイルの先頭行で書き込みを開始するよう MATLAB に指示します。これは既定の設定です。ただし、ファイルに追加する場合、'roffset',0 は、すぐ後に続く既存データの先頭行で書き込みを開始するよう MATLAB に指示します。

例: 'roffset',2

'coffset' — 列のオフセット0 (既定値) | スカラー

保存先ファイルの左側からの列のオフセット。'coffset' とスカラーで構成されるコンマ区切りペアとして指定します。列のオフセットは、数値データを書き込む前にスキップする列数を示します。これらの列は指定された区切り記号を使用して区切られます。

列のオフセットは 0 ベースであるため、'coffset',0 は、保存先ファイルの先頭列で書き込みを開始するよう MATLAB に指示します。これは既定の設定です。

例: 'coffset',1

'precision' — 数値精度5 (既定値) | スカラー | C スタイル書式文字列

ファイルへのデータの書き込み時に使用する数値精度。'precision' とスカラーまたは '%10.5f' などの % で始まる C スタイル書式文字列で構成されるコンマ区切りペアとして指定します。precision の値がスカラーである場合は、有効桁数を示します。

例: 'precision',3

例: 'precision','%10.5f'

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char

'newline' — 行終端子'pc' | 'unix'

行終端子。'newline' と、キャリッジ リターン/改行 (CR/LF) を使用する場合は 'pc' または改行 (LF) を使用する場合は 'unix' から構成されるコンマ区切りペアとして指定します。

例: 'newline','pc'

詳細

すべて展開する

ヒント

  • dlmwrite は、スプレッドシート プログラムで読み取り可能なファイルを書き込みます。あるいは、Windows® の Excel® がインストールされている場合は、関数 xlswrite を使用してスプレッドシートを作成できます。

この情報は役に立ちましたか?