Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основные понятия среды MATLAB.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.79 Mб
Скачать

6.2 Чтение и запись неформатированных файлов

Другой способ загрузки данных – это использование функции dlmread, которая загружает числовые данные из файла в переменную. Действие команды аналогично использованию Import Wizard.

Синтаксис.

  • M = dlmread(filename) – чтение данных из файла с именем filename в переменную M;

  • M = dlmread(filename,D) – чтение данных с указанием разделителя D

  • M = dlmread(filename, D, R, C) – чтение данных, представленных через разделитель D начиная с элемента с номером R, C;

  • M = dlmread(filename, D, range) – чтение данных из файла filename, где range = [R1 C1 R2 C2] – номер верхнего левого и нижнего правого элементов, которые определяют часть данных для считывания.

В случае, когда определен разделитель, лишние пробелы в записи данных не повлияют на правильное заполнение массива.

Пример.

>> A= dlmread('d1.txt', ','); % загрузка данных из текстового файла в переменную А.

Просмотр результатов:

A =

1

2

3

4

5

6

7

8

9

10

11

12

Записать результат в текстовый файл можно с помощью функции dlmwrite.

Синтаксис.

  • dlmwrite(filename, M) – записывает значения матрицы М в файл с именем filename;

  • dlmwrite(filename, M, 'D') – запись в файл с указание разделителя D;

  • dlmwrite(filename, M, 'D', R, C) – запись в файл с указание разделителя D начиная с элемента с номером R, C;

  • dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...) – запись

данных с заданными атрибутами;

  • dlmwrite(filename, M, '-append') – допись данных М в конец файла filename;

  • dlmwrite(filename, M, '-append', attribute-value list) – дописывание данных с заданными атрибутами.

Таблица 1.18. Атрибуты функции dlmwrite

Атрибут

Значение

d

разделитель между значениями

newline

символ (символы) перехода на новую строку. Значение 'pc' соответсвует CR/LF

roffset

определяет номер строки, начиная с которой данные записываются в файл

coffset

определяет номер столбца, начиная с которого данные записываются в файл

precision

точность (количество десятичных знаков). Точность также можно задать символьной строкой как формат, например,'%10.5f'.

Примеры.

  1. Запись матрицы d1 в текстовый файл 'myfile.txt', используя в качестве разделителя знак табуляции \t с точностью до 6-го знака.

>> dlmwrite('myfile.txt', d1, 'delimiter', '\t','precision', 6)

>> type myfile.txt % вывод данных из файла на экран

1 2 3 4 5 6

7 8 9 10 11 12

  1. Создание файла из двух матриц М, Z и дописывание в конец файла значений этих матриц, умноженных на 2с разделителем пробел между значениями.

>> M = magic(3); Z=rand(3); % формирование матриц

>> dlmwrite('myfile.txt', [M Z], ' ') % записывание значений в файл

>> type myfile.txt % вывод содержимого на экран

8

1

6

0.81472

0.91338

0.2785

3

5

7

0.90579

0.63236

0.54688

4

9

2

0.12699

0.09754

0.95751

  1. Дописывание в конец файла через одну строку значений матриц М, Z, умноженных на 2

>> dlmwrite('myfile.txt', [M*2 Z*2], '-append', 'roffset', 1, 'delimiter', ' ')

>> type myfile.txt % вывод новых значений на экран

8

1

6

0.81472

0.91338

0.2785

3

5

7

0.90579

0.63236

0.54688

4

9

2

0.12699

0.09754

0.95751

16

2

12

1.6294

1.8268

0.557

6

10

14

1.8116

1.2647

1.0938

8

18

4

0.25397

0.19508

1.915