exponenta event banner

dlmread

(не рекомендуется) Считывание ASCII-разделенного файла числовых данных в матрицу

dlmread не рекомендуется. Использовать readmatrix вместо этого. Дополнительные сведения см. в разделе Вопросы совместимости.

Описание

пример

M = dlmread(filename) считывает файл цифровых данных с разделителями ASCII в матрицу M. dlmread функция обнаруживает разделитель из файла и обрабатывает повторяющиеся пробелы как один разделитель.

M = dlmread(filename,delimiter) считывает данные из файла с использованием указанного разделителя и обрабатывает повторяющиеся символы разделителя как отдельные разделители.

пример

M = dlmread(filename,delimiter,R1,C1) начинает чтение со смещением строки R1 и смещение столбца C1. Например, смещения R1=0, C1=0 укажите первое значение в файле.

Чтобы задать смещения строк и столбцов без указания разделителя, используйте пустой символ в качестве местозаполнителя, например: M = dlmread(filename,'',2,1).

пример

M = dlmread(filename,delimiter,[R1 C1 R2 C2]) считывает только диапазон, ограниченный смещениями строк R1 и R2 и смещения столбцов C1 и C2. Другим способом определения диапазона является использование электронных таблиц, таких как 'A1..B7' вместо [0 0 6 1].

Примеры

свернуть все

Прочитайте образец файла, count.dat.

M = dlmread('count.dat')
M = 24×3

    11    11     9
     7    13    11
    14    17    20
    11    13     9
    43    51    69
    38    46    76
    61   132   186
    75   135   180
    38    88   115
    28    36    55
      ⋮

dlmread обнаруживает разделитель из файла и возвращает матрицу.

Запишите две матрицы в файл, а затем прочтите весь файл с помощью dlmread.

Экспорт матрицы в файл с именем myfile.txt. Затем добавьте к файлу дополнительную матрицу, смещенную на одну строку ниже первой.

X = magic(3);
dlmwrite('myfile.txt',[X*5 X/5],' ')
dlmwrite('myfile.txt',X,'-append', ...
   'roffset',1,'delimiter',' ')

Просмотрите содержимое файла.

type myfile.txt
40 5 30 1.6 0.2 1.2
15 25 35 0.6 1 1.4
20 45 10 0.8 1.8 0.4
  
8 1 6
3 5 7
4 9 2

Прочтите весь файл с помощью dlmread.

M = dlmread('myfile.txt')
M = 6×6

   40.0000    5.0000   30.0000    1.6000    0.2000    1.2000
   15.0000   25.0000   35.0000    0.6000    1.0000    1.4000
   20.0000   45.0000   10.0000    0.8000    1.8000    0.4000
    8.0000    1.0000    6.0000         0         0         0
    3.0000    5.0000    7.0000         0         0         0
    4.0000    9.0000    2.0000         0         0         0

Когда dlmread импортирует файл, содержащий непрямоугольные данные, заполняет пустые поля нулями.

Создание файла с именем dlmlist.txt содержит заголовки столбцов и разделенные пробелами значения.

test max min direction
10 27.7 12.4 12
11 26.9 13.5 18
12 27.4 16.9 31
13 25.1 12.7 29  

Прочтите числовые значения в файле. Задайте разделитель помещения, смещение строки 1 и смещение столбца 0.

filename = 'dlmlist.txt';
M = dlmread(filename,' ',1,0)
M =

   10.0000   27.7000   12.4000   12.0000
   11.0000   26.9000   13.5000   18.0000
   12.0000   27.4000   16.9000   31.0000
   13.0000   25.1000   12.7000   29.0000

Создание файла с именем dlmlist.txt содержит заголовки столбцов и разделенные пробелами значения.

test max min direction
10 27.7 12.4 12
11 26.9 13.5 18
12 27.4 16.9 31
13 25.1 12.7 29  

Считывание только последних двух строк числовых данных из файла.

M = dlmread('dlmlist.txt',' ',[3 0 4 3])
M =

   12.0000   27.4000   16.9000   31.0000
   13.0000   25.1000   12.7000   29.0000

Входные аргументы

свернуть все

Имя файла, указанное как символьный вектор или строка.

Пример: 'myFile.dat' или "myFile.dat"

Типы данных: char | string

Символ разделителя поля, заданный как вектор символа или строка. Использовать '\t' для указания разделителя табуляции.

Пример: ',' или ","

Пример: ' ' или " "

Типы данных: char | string

Начальное смещение строки, указанное как неотрицательное целое число. Первая строка имеет смещение 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Начальное смещение столбца, указанное как неотрицательное целое число. Первый столбец имеет смещение 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Конечное смещение строки, указанное как неотрицательное целое число. Первая строка имеет смещение 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Конечное смещение столбца, указанное как неотрицательное целое число. Первый столбец имеет смещение 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Совет

  • Пропустить строки или столбцы заголовка, указав смещения строк и столбцов. Все значения в файле, отличные от заголовков, должны быть числовыми.

Алгоритмы

dlmread заполняет пустые разделенные поля нулем. Когда dlmread функция считывает файлы данных со строками, которые заканчиваются непрямым разделителем, например точкой с запятой, возвращает матрицу, M, который имеет дополнительный последний столбец нулей.

dlmread импортирует любое комплексное число в целом в комплексное числовое поле. В этой таблице представлены допустимые формы для комплексного номера.

Форма

Пример

±<real>±<imag>i|j

5.7-3.1i

±<imag>i|j

-7j

Вложенный пробел в комплексное число недопустим и dlmread рассматривает его как разделитель поля.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019a

Представлен до R2006a