Документация
Чтобы открыть существующий файл или файлы в Редакторе, выберите опцию, которая достигает ваших целей, как описано в этой таблице.
Открытый со связанным инструментом
Откройте файл с помощью соответствующего инструмента MATLAB ® для типа файла.
На Editor щелкает Live Editor или вкладка Home, в разделе File
.
Также можно дважды кликнуть файл в Браузере текущей папки.
Например, эта опция открывает файл с .m или .mlx расширение в Редакторе и загрузки MAT-файл в браузер Рабочей области.
Открытый как текстовый файл
Откройте файл в Редакторе как текстовый файл, даже если тип файла сопоставлен с другим приложением или инструментом.
На вкладке Editor, в разделе File, нажимают Open
и выбирают Open as Text.
Это полезно, например, если вы импортировали разграниченный вкладкой файл данных ( .dat ) в рабочую область и вы находите, что хотите добавить точку данных. Откройте файл как текст в Редакторе, сделайте свое сложение, и затем сохраните файл.
Открытая функция из файла
Откройте локальную функцию или файл функции из файла в Редакторе.
Расположите курсор на имя в открытом файле, и затем щелкните правой кнопкой и выберите Open file-name из контекстного меню.
Также можно использовать этот метод, чтобы открыть модель Simulink ® или переменная.
Для получения дополнительной информации смотрите Открытый Файл или Переменная из Файла.
Вновь откройте файл
Вновь откройте недавно используемый файл.
В нижней части Open
выпадающий список выберите файл под Recent Files.
Чтобы изменить количество файлов в списке, нажмите
Preferences, и затем выберите MATLAB и Editor/Debugger. Под Most recently used file list, изменение значение для Number of entries.
Вновь откройте файлы при запуске
При запуске автоматически откройте файлы, которые были открыты когда предыдущий законченный сеанс работы с MATLAB.
На вкладке Home, в разделе Environment, нажимают
Preferences и выбирают MATLAB и Editor/Debugger. Затем выберите On restart reopen files from previous MATLAB session.
Открытый файл, отображающийся в другом инструменте
Откройте имя файла, отображающееся в другом инструменте рабочего стола MATLAB или инструменте Microsoft ® .
Перетащите файл от другого инструмента в Редактор.
Например, перетащите файлы от Браузера текущей папки или из Проводника Windows ® .
Открытый файл с помощью функции
Например, введите следующее, чтобы открыть collatz.m :
Если collatz.m не находится на пути поиска файлов или в текущей папке, используйте относительный или абсолютный путь в файле.
Для специальных замечаний на платформе Macintosh смотрите Навигацию В Корневой папке MATLAB на macOS Платформах.
Некоторые опции для вводных файлов не доступны в MATLAB Online .
Сохраните файлы
После того, как вы измените файл в Редакторе, звездочка (*) следует за именем файла. Эта звездочка указывает, что существуют несохраненные изменения в файле.
Можно выполнить четыре различных типов операций сохранения, которые оказывают различные влияния, как описано в этой таблице.
Сохраните файл на диск и сохраните файл открытым в Редакторе.
На вкладке Editor или Live Editor, в разделе File, нажатии кнопки
.
Переименуйте файл, сохраните его на диск и сделайте его активным документом Редактора. Исходный файл остается неизменным на диске.
На вкладке Editor или Live Editor, в разделе File, нажимают Save
и выбирают Save As.
Задайте новое имя, введите, или и для файла, и затем нажмите Save.
Сохраните файл на диск под новым именем. Исходный файл остается открытым и несохраненным.
На вкладке Editor, в разделе File, нажимают Save
и выбирают Save Copy As.
MATLAB открывает диалоговое окно Select File for Backup.
Задайте имя и тип для резервного файла, и затем нажмите Save.
Сохраните изменения во всех открытых файлах с помощью текущих имен файлов.
Все файлы остаются открытыми.
На вкладке Editor, в разделе File, нажимают Save
и выбирают Save All.
Некоторые опции для того, чтобы сохранить файлы не доступны в MATLAB Online™ .
Рекомендации на том, чтобы сохранить файлы
MathWorks ® рекомендует, чтобы вы сохранили файлы, которые вы создаете и файлы из MathWorks, который вы редактируете к папке, которая не находится в matlabroot дерево папки, где matlabroot папка, возвращенная, когда вы вводите matlabroot в Командном окне. Если вы сохраняете свои файлы в matlabroot папки, они могут быть перезаписаны, когда вы устанавливаете новую версию программного обеспечения MATLAB.
В начале каждого сеанса работы с MATLAB, загрузок MATLAB и кэшей в памяти местоположения файлов в matlabroot дерево папки. Поэтому, если вы:
Сохраните файлы к matlabroot папки с помощью внешнего редактора, запустите rehash toolbox прежде чем вы будете использовать файлы на текущем сеансе.
Добавьте или удалите файлы из matlabroot папки с помощью операций файловой системы, запустите rehash toolbox прежде чем вы будете использовать файлы на текущем сеансе.
Измените существующие файлы в matlabroot папки с помощью внешнего редактора, запустите clear function-name прежде чем вы будете использовать эти файлы на текущем сеансе.
Для получения дополнительной информации смотрите rehash или путь к тулбоксу, кэширующийся в MATLAB.
Поддержка файлов
Когда вы изменяете файл в Редакторе, Редактор сохраняет копию файла с помощью того же имени файла, но с .asv расширение каждые 5 минут. Резервная версия полезна, если вы имеете системные проблемы и теряете изменения, вы сделали к своему файлу. В таком случае можно открыть резервную версию, filename.asv , и затем сохраните его как filename.m использовать последнюю хорошую версию filename .
Примечание
Live Editor и MATLAB Online автоматически не сохраняют копии файлов.
Чтобы выбрать настройки, нажмите
Preferences, и затем выберите MATLAB> Editor/Debugger> Backup Files на вкладке Home в разделе Environment. Вы можете затем:
Включите или выключите функцию резервного копирования.
Автоматически удалите резервные файлы, когда вы закроете соответствующий исходный файл.
По умолчанию MATLAB автоматически удаляет резервные файлы, когда вы закрываете Редактор. Лучше держать отношения резервного копирования к файлу в стороне и текущий. Поэтому, когда вы переименовываете или удаляете файл, рассматриваете удаление или переименование соответствующего резервного файла.
Укажите, что номер минут между резервным копированием сохраняет.
Задайте расширение файла для резервных файлов.
Задайте местоположение для резервных файлов
Если вы редактируете файл в папке только для чтения и спине, настройкой Location является Source file directories, то Редактор не создает резервную копию файла.
Работа с файлами в среде MATLAB
Создание программ часто предполагает сохранение результатов расчетов в файлы для их дальнейшего анализа, обработки и хранения. В связи с этим в среде MATLAB реализованы различные функции по работе с файлами, содержащие данные в разных форматах.
Для загрузки данных из файла,расположенного на локальном диске в рабочую средуMATLAB, используются следующие операторы:load, freadиfscanf. Для сохранения данных из рабочей среды MATLAB в файл на локальном диске предусмотрено использование следующих операторов: save, fwrite, fprintf.
В самом простом случае для сохранения и последующей загрузки каких-либо данных в среде MATLAB предусмотрены следующие функции, соответственно: save и load, имеющие следующий синтаксис:
save<имя файла><имена переменных>
load<имя файла><имена переменных>
Функция save позволяет сохранять произвольные переменные, используемые в программе в файл, который будет по умолчанию располагаться в рабочем каталоге (обычно поддиректория work) и иметь расширение mat. Соответственно функция loadпозволяет загрузить из указанного mat-файла ранее сохраненные переменные.
Недостатком функций save и load является то, что они работают с определенными форматами файлов (обычно mat-файлы) и не позволяют загружать или сохранять данные в других форматах. Между тем бывает необходимость загружать информацию, например, из бинарных файлов, созданных другими программными продуктами для дальнейшей обработки результатов в среде MATLAB. С этой целью в среде MATLAB предусмотрены следующие функции
fwrite(<идентификатор файла>, <переменная>, <тип данных>)
<переменная>=fread(<идентификатор файла>, <размер>, <точность>)
где: <идентификатор файла>– это указатель на файл, с которым предполагается работать. Для того, чтобы получить идентификатор файла, используется функция fopen, имеющая следующий синтаксис:
<идентификатор файла>=fopen(<имя файла>,<режим работы>)
где: параметр <режим работы> может принимать значения, приведенные в таблице 1.
В том случае, если функция fopen() по каким-либо причинам не может корректно открыть файл, то она возвращает значение –1. После выполнения всех файловых операций файл должен быть закрыт с помощью функции fcloseследующей структуры:
fclose(<идентификатор файла>)
С помощью команды fclose(all)можно закрыть сразу все открытые файлы, кроме стандартных системных файлов.
Пример использования функций работы с файлами:
A=[1 2 3 4 5];
fid=fopen(‘my_file.dat’, ‘wb’);% открытие файла на запись
fwrite(fid, A, ‘double’);% запись матрицы А в файл
fclose(fid);% закрытие файла
B=fread(fid, 5, ‘double’); % чтение 5 значений в формате double
disp(B); % отображение на экране
fclose(fid); % закрытие файла
В результате выполнения данных операций в рабочем каталоге MATLABбудет создан файл my_file.dat размером 40 байт, в котором будут содержаться 5 значений типа double, записанных в виде последовательности байт (по 8 байт на каждое значение). Функция fread() считывает последовательно сохраненные байты и автоматически преобразовывает их к типу double, т.е. каждые 8 байт интерпретируются как одно значение типа double.
В приведенном примере в явном виде указывалось число элементов для считывания из файла. Однако, часто общее количество элементов бывает неизвестным, либо изменяется в процессе работы программы. В этом случае необходимо считывать данные из файла до тех пор, пока не будет достигнут его конец. В MATLAB существует функция для проверки достижения конца файла,которая возвращает 1 при достижении конца файла и 0 в других случаях и имеет следующий синтаксис:
feof(<идентификатор файла>)
Таблица 1 — Режимы работы с файлами в среде MATLAB при использовании функции fopen
| Значение параметра <режим работы> | Описание параметра |
| ‘r’ | чтение |
| ‘w’ | запись (стирает предыдущее содержимое файла) |
| ‘a’ | добавление (создает файл, если его нет) |
| ‘r+’ | чтение и запись (не создает файл, если его нет) |
| ‘w+’ | чтение и запись (очищает прежнее содержимое или создает файл, если его нет) |
| ‘a+’ | чтение и добавление (создает файл, если его нет) |
| ‘b’ | дополнительный параметр, означающий работу с бинарными файлами, например, ‘wb’, ‘rb’ ‘rb+’, ‘ab’ |
Описанные ранее функции работы с файлами позволяют записывать и считывать информацию по байтам, которые затем требуется правильно интерпретировать для преобразования их в числа или строки. В то же время выходными результатами многих программ являются текстовые файлы, в которых явным образом записаны те или иные числа или текст. Прочитать такой файл побайтно, а затем интерпретировать полученные данные довольно трудоемкая задача, поэтому для этих целей были специально разработаны функции форматированного чтения или записи информации: fscanf и fprintf, соответственно.
Функция чтения fscanfимеет следующий синтаксис:
[value, count]=fscanf(fid, format, size)
где: value – результат считывания данных из файла; count – число прочитанных (записанных) данных; fid – указатель на файл; format – формат чтения (записи) данных; size – максимальное число считываемых данных
Функция записиfprintfимеет следующий синтаксис:
count=fprintf(fid, format, a,b. )
где:a,b,… – переменные для записи в файл.
Таблица 2- Список основных спецификаторов параметра formatдля функций fscanf() и fprintf()
| Спецификатор | Описание |
| %d | целочисленные значения |
| %f | вещественные значения |
| %s | строковые данные |
| %c | символьные данные |
| %u | беззнаковые целые значения |
В форматной строке могут бытьтакже использованы различные управляющие символы:
\r – возврат каретки;
\t – горизонтальная табуляция;
\n – переход на новую строку
С помощью функции fprintf() можно осуществлять запись разнородных данных в файл в требуемом формате, в том числе и строковых переменных, что позволяет размещать в файле различные текстовые надписи.
Как открыть файл в 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.
На вкладке Editor или Live Editor, в разделе File, нажатии кнопки
.
На вкладке Editor или Live Editor, в разделе File, нажимают Save
и выбирают Save As.
На вкладке Editor, в разделе File, нажимают Save
и выбирают Save Copy As.
На вкладке Editor, в разделе File, нажимают Save
и выбирают Save All.