Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

matlab laboratornye / матлаботчет10

.docx
Скачиваний:
0
Добавлен:
25.09.2025
Размер:
213.21 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра PC

отчет

по лабораторной работе №10

по дисциплине «MATLAB»

Тема: РАБОТА С ФАЙЛАМИ В MATLAB

Студент гр. фыв

фыв

Преподаватель

фыв

Санкт-Петербург

фыв

Цель работы:

Освоение принципов записи и чтения в (из) файл(а) различных форматов.

Краткие теоретические сведения:

Для записи массива x в ASCII-файл используется команда dlmwrite('имя файла', x, 'разделитель'), а для чтения — x = dlmread('имя файла', 'разделитель'). Разделителем может быть любой символ (например, точка с запятой или двоеточие).

Для записи нескольких массивов в двоичный файл используется команда save, создающая файл формата `.mat`. Для чтения данных из такого файла применяется команда load, при этом имена переменных должны совпадать с исходными.

Для записи данных в ASCII-формате применяется команда save -ascii, создающая файл без расширения, где данные воспринимаются как одна переменная с именем файла. Чтение таких данных выполняется командой load -ascii, результат присваивается переменной с именем файла.

Копии рабочей области:

Рисунок 1 - Содержание m-файла RWascii1

Команда clear удаляет все переменные из текущей рабочей области, освобождая системную память, rand создает матрицу размером 2*10, dlmwrite записывает матрицу х в сюжетный файл myfile.dat с использованием делимитера «:».

Рисунок 2 - Значения матрицы х в Workspace

Рисунок 3 - Результат использования команды clear

Рисунок 4 - Чтение dat-файла

При изначальной записи в dat-файл был указан делимитер «:», ошибка возникает из-за неверно указанного делимитера «;». При использовании функции x = dlmread('myfile.dat',':'); извлечение данных массива (рис.4), которые совпадают с исходными (рис.2).

Упражнение:

Рисунок 5 - Создание массивов X, y, z, t

Затем введя save «MyFile2 z t y X;» создается mat-файл с сохраненными в нем массивами.

После этого «dlmwrite('text_y.dat', y, 'delimiter', ',');» записывает массив «y» в ASCII-файл «text_y.dat».

Запись переменных у, Х, t в двоичный файл «bin_yxt.mat» осуществляется командой «save('bin_yxt.mat', 'y', 'X', 't', '-mat');».

Запись переменных z, Х, y в текстовый файл «text_xzy.txt» осуществляется командой «save('text_xzy.txt', 'z', 'X', 'y', '-ascii');».

Запись переменных у, z, t в текстовый файл «text_yzt.txt» осуществляется командой «save('text_yzt.txt', 'y', 'z', 't', '-ascii');».

После очистки рабочей области командой «clear» и загрузки переменной «y» из «MyFile2.mat» в окне Workspace появляется одномерный массив «у», состоящий из единиц.

Рисунок 6 - Окно Workspace после очистки и загрузки матрицы y

После очистки Workspace и ввода «load MyFile2.mat yt;» происходит ошибка. Соответственно в Workspace ничего не появляется из-за того, что массива «yt» не существует.

Рисунок 7 - Загрузка переменной yt (несуществующей) из файла MyFile2.mat

Рисунок 8 - Исправление ошибки загрузки данных из File2.mat

Введя «load MyFile2.mat y t;» в Workspace отображаются два запрашиваемых массива «y» и «t».

После очистки Workspace и ввода «load -ascii text_yzt.txt;» результат загружается в переменную с именем файла без расширения, то есть text_yzt.

Рисунок 9 - Загрузка данных их текстового файла text_yzt.txt

При очистке Workspace и вводе «load -ascii text_xzy.txt;» выводится сообщение об ошибке. Причина ошибки в том, что команда «load -ascii» ожидает строго числовые данные в файле. Файл «text_xzy.txt» содержит текст, это вызывает ошибку.

Рисунок 10 - Загрузка ASCII-файла text_xzy

Вывод:

В результате выполнения лабораторной работы были освоены основные принципы работы с файлами различных форматов в MATLAB. Были изучены команды записи и чтения данных в ASCII- и бинарные файлы, такие как dlmwrite, dlmread, save, и load. Для успешной работы с файлами важно четко следовать формату данных, записываемых в файл, и учитывать требования команд чтения.

Соседние файлы в папке matlab laboratornye