Как в матлаб загрузить данные из файла
Перейти к содержимому

Как в матлаб загрузить данные из файла

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

Система MATLAB имеет ряд команд для работы с файлами вида *.txt, *.html, *.m и *.mat.

Команда/ореи. Она дает доступ к файлу типа *.txt, *.html, *.m и *.mat. Формат команды

Fid=fopen [‘имя файла’] [‘мода’].

Переменная Fid называется файловым идентификатором. Она может иметь любое имя, разное для разных файлов. Переменная Fid принимает значение 1, если доступ открыт и значение -1, если доступ к файлу невозможен. Команда fopen применяется как для уже существующих файлов, так и для файлов, которые будут записаны. Мода может быть следующей.

Таблица 1.2.3. Мода открытия файла

Мода Описание

‘ rt’ Открытие файла для чтения (по умолчанию)

‘ wt’ Открытие файла, или создание нового для записи. Если файл существует, то он будет удален без предупреждения, вместо него создается новый пустой файл с тем же именем

‘ at’ Открытие файла, или создание нового для записи. Если файл существует, то добавление данных в конец файла

‘ rt+’ Открытие файла для чтения и записи. Если файл существует, то новые данные будут записаны сначала, но место старых данных

‘ wt+’ Открытие файла для чтения и записи. Если файл существует, то он будет удален без предупреждения, вместо него создается новый пустой файл с тем же именем

‘ at+’ Открытие файла, или создание нового для чтения и записи, добавление данных в конец файла

Файл filename должен быть либо в текущем каталоге, либо иа путях MATLAB, либо должен быть указан полный путь. По умолчанию новый файл записывается в текущий каталог. Команда fopen открывает и бинарные файлы *.mat, в этом случае мода не содержит буквы ‘ t’.

Команда fclose. Закрывает доступ к открытому ранее файлу, fclose(fid) -закрытие файла с идентификатором fid, fclosc(all)) — закрытие всех открытых файлов.

Команда fscanf. Чтение форматированных данных из файла, к которому открыт доступ командой fopen. Формат команды

А = fscanf(fid, ‘format’,size)

Параметр size определяет размерность массива в MATLAB, который будет создан при чтении данных из файла с идентификатором fid. Параметр size может иметь вид:

  • • п — чтение п элементов в столбец;
  • • inf — чтение элементов в столбец до конца;
  • • [п ш] — чтение в матрицу размера п-на-ш.

Отметим, что команда fscanf читает данные из файла по строкам, а записывает их в массив MATLAB по столбцам так, как указано в size. MATLAB читает данные из указанного файла в соответствии с заданным форматом. Параметр format может быть следующим:

Таблица 1.2.4. Формат чтения

СП о° 4-І оо О t Ф

Числа с плавающей запятой (экспоненциальный, с фиксированной запятой и компактный вид)

Целое число со знаком

Восьмеричное целое число со знаком

Ряд символов без пробелов

Десятичное целое число со знаком

Шестнадцатеричное целое число со знаком

Команда fprint. Запись форматированных данных в файл, к которому открыт доступ командой fopen. Формат команды

Здесь fid есть идентификатор открытого ранее файла. Имя файла указано при его открытии. А — массив, который будет записан в файл. Отмстим, что команда fprint читает данные из массива MATLAB по столбцам, а пишет их в файл по строкам.

MATLAB пишет данные из указанного массива в файл в соответствии с заданным форматом. Строка формата указывает к какому виду следует преобразовать данные для записи. Строка формата записи начинается с символа (%) и содержит следующие необходимые и дополнительные и элементы:

  • • флаги (дополнительно);
  • • поля ширины и точности (дополнительно);
  • • символ преобразования (необходим).

Например, в записи «%-12.5е» знак «минус» есть флаг, число 12 определяет ширину поля (общее количество цифр), число 5 — это количество знаков после запятой и, наконец, буква «е» определяет, к какому типу будут преобразованы данные для записи.

Кроме того, применяются символы, которые управляют процессом вывода:

Таблица 1.2.5. Формат вывода данных

Формат Описание

п Переход на новую строку

Ь Возврат назад на один символ

Пробелы в строке формата записываются как пробелы

Возможные флаги указаны в табл. 1.2.6.

Таблица 1.2.6. Флаги команды fprint

Символ Описание

Знак минус (-) Левое выравнивание преобразованных параметров

Знак плюс (+) Всегда печатать символ знака (+ или-)

Нуль (0) Замещение нулями вместо пробелов

Символ преобразования может быть следующим:

Таблица 1.2.7. Символы преобразования команды fprint

Десятичное представление чисел (со знаком)

Экспоненциальное представление чисел (как в 3.1415е+00)

С фиксированной точкой

Компактный вид, без лишних нулей

Десятичное представление чисел (со знаком)

Десятичное представление чисел (без знака)

Шестнадцатеричное представление (с использованием символов нижнего регистра a-f)

Шестнадцатеричное представление (символы верхнего регистра A-F)

Пример 9. Открытие файла dat.txt для записи и запись в него данных из массива А. Данные из массива А читаются по столбцам, а запись ведется числами из 6 цифр с фиксированной запятой в 5 столбцов с горизонтальной табуляцией.

fprintf(fid, ‘%6.4f % б.4f % 6.4f % 6.4f % б.4f ‘,A);

Если команда fprintf используется без идентификатора файла (вместо него -цифра 1), то вывод идет на дисплей.

Как открыть файл в matlab

Иллюстрированный самоучитель по MatLab

  • Команда open имя, где имя должно содержать массив символов или символьную переменную, открывает файлы в зависимости от анализа параметра имя и расширения в имени имя:
  • переменная – открывает массив, названный по имени, в редакторе массивов (Array Editor);
  • .mat – открывает файл, сохраняет переменные в структуре в рабочей области;
  • .fig – открывает его в редакторе дескрипторонй графики Property Editor;
  • .m – открывает m-файл в редакторе-отладчике;
  • .mdl – открывает модель в Simulink;
  • – открывает, если он есть, m-файл с тем же именем;
  • .html – открывает HTML документ в браузере помощи.
  • [FILENAME, PATHNAME] = uigetfile(FILTERSPEC. Title). Открывает диалог с именем Title и фильтром FILTERSPEC (например, массивом ячеек, содержащим расширения файлов) и возвращает файл, выбранный пользователем, и путь к нему. Возвращает FILENAME=0, если файл не существует или если пользователь нажал на Cancel. [FILENAME, PATHNAME] = uigetfile (FILTERSPEC, Title. X. Y) размещает окно диалога в точке X, Y (координаты в пикселях).
  • [FILENAME, PATHNAME] = uiputfile(FILTERSPEC. TITLE) сохраняет файл в диалоге, управляемом пользователем. Параметры аналогичны таковым в функции uigetfile.
  • Команда ui open открывает диалог, и если пользователь выбрал файл с известным расширением, вызывает его, используя open, или если имя файла имеет неизвестное расширение, то вызывается uigetfile. Входными аргументами uiopen могут быть mat lab, load, figure, simulink, editor. Без входных аргументов или с входным аргументом matlab в окне диалога предлагается выбрать *.m, *.fig, *.mat, *.mdl (если Simulink установлен), * .cdr (если state flow установлен), *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (если установлен Real-Time Workshop). С аргументом load – *.mat. С аргументом figure предлагаются *.fig; simul ink – *.mdl, editor – *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.
  • Команда uiload открывает файл в диалоге, управляемом пользователем, с использованием команды load.
  • ui import (FILENAME) – запускает Мастер Импорта, открывая файл FILENAME. Мастер импорта показывает данные для предварительного просмотра. В окне предварительного просмотра появляются данные и их представление в виде переменных MATLAB. Собственно данные, текст и заголовки представляются разными переменными MATLAB. Для данных ASCII вы должны удостовериться, что Мастер импорта распознал разделители столбцов. Самостоятельно он может распознать только символ табуляции, пробел, запятую или точку с запятой. Нужно щелкнуть мышью на кнопке Next и в следующем окне либо подтвердить выбор разделителя, сделанный Мастером, либо выбрать Other и ввести любой разделитель.
  • ui import (‘ -file’) – вначале выводит диалог выбора файла.
  • ui import (‘-pastespecial’) – вначале выводит для предварительного просмотра содержимое буфера обмена Windows.
  • S = ui import (…) хранит результирующие переменные как поля структуры S.
  • Команда uisave – управляемое пользователем сохранение (команда save описана в уроке 2) с Windows диалогом.
  • Функция saveas – сохраняет рисунок или модель Simulink в желаемом формате на носителе информации или на устройстве, разрешенном print.
  • Функция saveas (H, ‘FILENAME’) – сохраняет данные в соответствии с командой дескрипторной графики Н в файле FILENAME. Формат файла определяется расширением имени FILENAME.
  • Функция saveas (H. ‘FILENAME’. ‘FORMAT’) – выполняет то же, но с параметром FORMAT (формат задается тем же способом, что и расширение имени файла и может от него отличаться). FORMAT имеет приоритет перед расширением имени файла. Параметры функции:
  • ‘fig’ – сохранить рисунок (график) в двоичном fig-файле;
  • ‘m’ или ‘mfig’ – сохранить рисунок в двоичном fig-файле и создать m-файл для его загрузки;
  • ‘mmat’ – сохранить рисунок в m-файле как последовательность команд создания рисунка. Может не поддерживать новейшие графические функции.
  • delete имя файла удаляет файл текущей папки. Может быть использована *. Предпочтительно использование с записью в форме функции delete(‘mw файла’), когда имя файла – строка.
  • delete(H) удаляет графический объект с дескриптором Н. Если этот объект – окно, то оно предварительно закрывается.
  • Функция close(H) закрывает только графические окна. Для закрытия файлов необходимо использовать команду f close.

[Matlab] Операции с файлами в Matlab: fopen, fseek, fread, fclose и т. Д.

На Editor щелкает Live Editor или вкладка Home, в разделе File .

На вкладке Editor, в разделе File, нажимают Open и выбирают Open as Text.

В нижней части Open выпадающий список выберите файл под Recent Files.

Чтобы изменить количество файлов в списке, нажмите Preferences, и затем выберите MATLAB и Editor/Debugger. Под Most recently used file list, изменение значение для Number of entries.

На вкладке Home, в разделе Environment, нажимают Preferences и выбирают MATLAB и Editor/Debugger. Затем выберите On restart reopen files from previous MATLAB session.

Используйте edit или open функция.

На вкладке Editor или Live Editor, в разделе File, нажатии кнопки .

На вкладке Editor или Live Editor, в разделе File, нажимают Save и выбирают Save As.

На вкладке Editor, в разделе File, нажимают Save и выбирают Save Copy As.

На вкладке Editor, в разделе File, нажимают Save и выбирают Save All.

Как в матлаб загрузить данные из файла

Одним из самых простых способов сохранения вычисленных значений является сохранение рабочей среды (всех переменных) с помощью команды File — Save Workspace As … . При этом открывается диалоговое окно, в котором необходимо указать папку и имя сохраняемого файла. Файл рабочей среды имеет расширение mat . После выполнения этой команды все переменные и значения рабочей среды будут храниться в одном файле с расширением mat . Для загрузки рабочей среды необходимо выполнить команды File — Open .

Кроме сохранения переменных в файле рабочей среды в Matlab есть есть возможности работы с текстовым файлом, как и в языке программирования Си.

Для записи данных в текстовый файл необходимо выполнить следующие действия:

1. Открыть файл с помощью фунции fopen . Функция fopen ( filename , mode ) имеет два параметра: filename и – строка, в которой хранится полное имя открываемого файла, mode – строка, которая определяет режим работы с файлом; возможны следующие значения: « rt » — открываем текстовый файл в режиме чтения; « wt » — создаем пустой текстовый файл для записи; « rt +» — открываем текстовый файл в режиме чтения и записи; « wt +» — открываем пустой текстовый файл, в этом режиме можно записывать и читать данные из файла. Функция возвращает два параметра: файловая переменная и строка символов, в которой хранится сообщение о результатах открытия файла.

2. Записать данные в файл с помощью функции printf . Обращение к функции printf имеет следующий вид: printf ( F , s 1, s 2), где F – имя файловой переменной, s 1 – строка вывода, s 2 – список выводимых переменных. В строке вывода могут использоваться некоторые специальные символы:

o \ b – сдвиг текущей позиции влево;

o \ n – перевод строки;

o \ t – горизонтальная табуляция.

В строке вывода вместо выводимых переменных указывается строка преобразования следующего вида: % n . m , где n – ширина поля вывода; если позиций недостаточно, то поле вывода расширяется до минимального необходимого, незаполненные позиции заполняются пробелами; m – количество знаков после десятичной точки. В качестве типа могут использоваться следующие латинские буквы: c – символ, d – целое десятичное число, o – целое восьмеричное число, x – целое шестнадцатеричное число, f – вещественное число вида [+] dddd . dddd , e – вещественное число в экспоненциальной форме вида + d . dddde [+] ddd , g – вещественное число вида e или f в зависимости от значения и точности, s – строка символов.

3. Закрыть файл с помощью функции fclose ( F ), F .

Для чтения данных из файла необходимо:

1. Открыть файл с помощью функции fopen .

2. Считать данные из файла с помощью функции fscanf . Обращение к функции fscanf имеет вид: A = fscanf ( F , s 1). В переменную А считываются данные из файла в соответствии со строкой s 1.

3. Закрыть файл (функция fclose ) .

Рассмотрим пример записи в файл значений: x = p /7 и y = cos ( x ).

На рисунке ниже представлено вычисление x и y и запись их в текстовый файл abc . txt .

Содержимое текстового файла abc . txt :

Теперь рассмотрим два способа чтения данных из файла abc . txt . На рисунке представлено чтение содержимого файла abc . txt в переменную h .

На следующем рисунке показан пример чтения содержимого файла abc . txt в переменную p и s :

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *