dlmwrite
(非推奨) 行列を ASCII 区切りファイルに書き込む
dlmwrite
は推奨されません。代わりに writematrix
を使用してください。詳細については、互換性についての考慮事項を参照してください。
構文
説明
dlmwrite(___,
は、1 つ以上の名前と値のペアの引数を使用して、区切り記号、改行文字、オフセットおよび精度オプションを追加指定します。Name,Value
)
例
コンマ区切りデータの書き込み
サンプル データの配列 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 = 3×3
25.1327 3.1416 18.8496
9.4248 15.7080 21.9911
12.5664 28.2743 6.2832
行列 M
を、タブ文字で区切り、有効桁数 3 桁の精度を使用してファイル '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 = 8×5
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
— 書き込むファイルの名前
文字ベクトル | string
書き込むファイルの名前。文字ベクトルまたは string として指定します。
例: 'myFile.txt'
または "myFile.txt"
データ型: char
| string
M
— 書き込み対象の数値データ
行列 | 数値の cell 配列
書き込み対象の数値データ。行列または 1 セルに 1 つの値をもつ数値の cell 配列として指定します。
例: [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
— 配列要素を区切る区切り記号
','
(既定値) | 文字ベクトル | string
配列要素を区切る区切り記号。1 文字以上の制御シーケンスを含む文字ベクトルまたは string として指定します。'\t'
を使用して、タブ区切りファイルを生成します。
例: ';'
または ";"
例: '\t'
または "\t"
データ型: char
| string
row
— 行のオフセット
0 (既定値) | スカラー
行のオフセット。スカラーとして指定します。行のオフセットは、数値データを書き込む前にスキップする行数を示します。row
は 0 ベースであるため、row = 0
は、保存先ファイルの先頭行で書き込みを開始するよう MATLAB® に指示します。スキップされる行は指定された区切り記号を使用して入力されます。
col
— 列のオフセット
0 (既定値) | スカラー
列のオフセット。スカラーとして指定します。列のオフセットは、数値データを書き込む前にスキップする列数を示します。col
は 0 ベースであるため、col = 0
は、保存先ファイルの先頭列で書き込みを開始するよう MATLAB に指示します。スキップされる列は指定された区切り記号を使用して区切られます。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: dlmwrite('myFile.txt',M,'precision',4,'delimiter',' ')
は、配列 M
の数値を有効桁数 4 桁で書き込み、空白文字を使用して区切ります。
delimiter
— 配列要素を区切る区切り記号
','
(既定値) | 文字ベクトル | string
配列要素を区切る区切り記号。'delimiter'
と 1 文字以上の制御シーケンスを含む文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。'\t'
を使用して、タブ区切りファイルを生成します。
例: 'delimiter',';'
または 'delimiter',";"
例: 'delimiter','\t'
または 'delimiter',"\t"
データ型: char
| string
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
を使用してスプレッドシートを作成できます。
バージョン履歴
R2006a より前に導入R2019a: dlmwrite
は非推奨
dlmwrite
は推奨されません。代わりに writematrix
を使用してください。dlmwrite
を削除する予定はありません。
R2019a 以降では、区切りテキスト ファイルへの行列の書き込みに関数 writematrix
を使用してください。関数 writematrix
は、関数 dlmwrite
よりもクロスプラットフォームのサポートとパフォーマンスに優れています。
次の表に、dlmwrite
の一般的な用法と、代わりに writematrix
を使用するようコードを更新する方法を示します。
非推奨 | 推奨 |
---|---|
dlmwrite('mydata.txt',M) | writematrix(M,'mydata.txt') |
参考
writematrix
| dlmread
| xlswrite
| writetable
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)