テキスト ファイルから行列への数値データのインポート
コンマ区切りのテキスト ファイルまたは区切られたテキスト ファイルとして保存されたファイルから、数値データを MATLAB® 配列としてインポートします。
コンマ区切りデータのインポート
この例では、テキスト ファイルからコンマ区切りの数値データをインポートする方法を説明します。サンプル ファイルを作成し、ファイル内のすべてのデータを読み取り、指定した位置から始まるサブセットのみを読み取ります。
コンマ区切りのデータを含む ph.dat
という名前のサンプル ファイルを作成し、ファイルの内容を表示します。
rng('default') A = 0.9*randi(99,[3 4]); writematrix(A,'ph.dat','Delimiter',',') type('ph.dat')
72.9,81.9,25.2,86.4 81,56.7,49.5,14.4 11.7,9,85.5,87.3
関数 readmatrix
を使用してファイルを読み取ります。この関数は、ファイルのデータを含む 3
行 4
列の double
配列を返します。
M = readmatrix('ph.dat')
M = 3×4
72.9000 81.9000 25.2000 86.4000
81.0000 56.7000 49.5000 14.4000
11.7000 9.0000 85.5000 87.3000
ファイルの 1 行 3 列目から始まるデータの矩形部分のみをインポートします。インポート オプション オブジェクトを作成し、SelectedVariableNames
プロパティと DataLines
プロパティを使用してインポートする列と行を指定します。次に、データの選択した部分をファイルからインポートします。
opts = detectImportOptions('ph.dat'); opts.SelectedVariableNames = {'Var3','Var4'}; opts.DataLines = [1 3]; readmatrix('ph.dat',opts)
ans = 3×2
25.2000 86.4000
49.5000 14.4000
85.5000 87.3000
区切られた数値データのインポート
この例では、関数 writematrix
を使用して、任意の 1 文字で区切られた数値データをインポートする方法を説明します。サンプルファイルを作成し、ファイル全体を読み取り、指定した位置からファイルのサブセットを読み取ります。
4
行 4
列の数値配列を含む num.txt
という名前のタブ区切りファイルを作成し、ファイルの内容を表示します。
rng('default') A = randi(99,[4,4]); writematrix(A,'num.txt','Delimiter','\t') type('num.txt')
81 63 95 95 90 10 96 49 13 28 16 80 91 55 97 15
ファイル全体を読み取ります。関数 readmatrix
は、区切り記号を自動的に判定して 4 行 4 列の double
配列を返します。
M = readmatrix('num.txt')
M = 4×4
81 63 95 95
90 10 96 49
13 28 16 80
91 55 97 15
ファイルの 2 行 3 列目から始まるデータの矩形ブロックのみを読み取ります。インポート オプション オブジェクトを作成し、SelectedVariableNames
プロパティと DataLines
プロパティを使用してインポートする列と行を指定します。次に、データの選択した部分をファイルからインポートします。
opts = detectImportOptions('num.txt'); opts.SelectedVariableNames = {'Var3','Var4'}; opts.DataLines = [2 4]; readmatrix('num.txt',opts)
ans = 3×2
96 49
16 80
97 15
参考
readmatrix
| readcell
| readvars
| readtimetable