Как открыть файл в матлабе
Иллюстрированный самоучитель по MatLab
Открытие и закрытие файлов
Файлы – это довольно распространенные объекты системы MATLAB. О некоторых типах файлов уже говорилось в предшествующих главах. В этом уроке рассматриваются свойства файлов, которые не зависят от их типа и относятся к любым файлам.
Файл обычно является некоторой совокупностью данных, объединенных одним именем. Тип файла, как правило, определяется его расширением. Мы рассматриваем файл как некое целое, хотя физически на диске он может быть представлен несколькими областями – говорят, что в этом случае файл фрагментирован.
Перед использованием любого файла он должен быть открыт, а по окончании использования – закрыт. Много файлов может быть открыто и доступно для чтения одновременно. Рассмотрим команды открытия и закрытия файлов.
Если файлы с расширением существуют в пути MATLAB, то открывается тот файл, который возвращается командой which имя, если нет – то файл из файловой системы. Если файл не имеет расширение имени, то он открывается той программой, формат файлов которой был бы обнаружен функцией which (‘имя файла’) По умолчанию для всех файлов с окончаниями, отличными от вышеперечисленных, вызывается openother. Open вызывает функции орепххх, где ххх – расширение файла. Исключение – переменные рабочей области, для которых вызывается openvar, и рисунки, для работы с которыми вызывается openim. Создавая т-файлы с именем орепххх, пользователи могут изменять обработку файлов и добавлять новые расширения в список. Закрывать файлы, открытые при помощи open, нужно из редакторов, вызываемых ореnххх.
Функция ui import запускает Мастер импорта (Import Wizard), импортирующий из файла в текущей папке или буфера обмена Windows. Она соответствует выбору Import Data из меню File или выбору Paste Special из меню Edit MATLAB.
Команда или функция delete удаляет файл или объект графики.
Для записи файлов на диск служит команда save, используемая в довольно очевидных формах:
Соответственно для считывания файлов с диска служит команда load:
Русские Блоги
[Matlab] Операции с файлами в Matlab: fopen, fseek, fread, fclose и т. Д.
1. Открытие и закрытие файла
1) Откройте файл
Перед чтением и записью файла необходимо использовать функцию fopen, чтобы открыть или создать файл, и указать режим работы для файла. Формат вызова функции fopen:
fid = fopen (имя файла, «открытый метод»)
Примечание: fid используется для хранения значения дескриптора файла. Если возвращаемое значение дескриптора больше 0, файл открывается успешно. В имени файла используется строка символов, чтобы указать файл данных, который нужно открыть. Распространенные способы открытия следующие:
‘r’: откройте файл в режиме только для чтения (режим по умолчанию), файл должен уже существовать.
‘r +’: откройте файл в режиме чтения-записи, после открытия сначала прочтите, а затем запишите. Файл должен уже существовать.
‘w’: записывать данные после открытия. Файл обновляется, если он уже существует; если он не существует, он создается.
‘w +’: откройте файл в режиме чтения-записи. Сначала читайте, потом пишите. Файл обновляется, если он уже существует; если он не существует, он создается.
‘a’: добавить данные в конец открытого файла. Если файл не существует, он создается.
‘a +’: после открытия файла сначала считайте данные, а затем добавьте данные. Если файл не существует, он создается.
Кроме того, добавьте «t» после этих строк, например,’rt ‘или’wt +’, тогда файл будет открыт в текстовом режиме; если добавлен «b», то Открыть в двоичном формате, который также является методом открытия по умолчанию для функции fopen.
2. Операции чтения и записи двоичных файлов.
a=[1 2 3 4 5 6 7 8 9];
fid = fopen (‘d: \ test.bin’, ‘wb’)% Откройте файл, записав двоичные данные
fid =
3%, значение которого больше 0, что означает успешное открытие
fwrite(fid,a,‘double’)
ans =
9% означает, что записано 9 данных.
fclose(fid)
ans =
0% означает, что выключение прошло успешно.
Использование fscanf в Matlab выглядит следующим образом:
A=fscanf(fid,format)
[A, count]=fscanf(fid,format,size)
[A, count]=fscanf(fid,format,size)
Приведи небольшой пример:
Путь + имя файла: d: \ moon.txt
Содержание: 13,1,3.4
Теперь, чтобы прочитать данные из moon.txt в массиве, вы можете использовать следующий метод:
fid=fopen(‘d:\moon.txt’);
data = fscanf (fid, ’% f,% f,% f’, [3, inf]);% используйте здесь одинарные кавычки
fclose(fid);
На данный момент данные в данных выглядят следующим образом: (3 строки и 4 столбца, элементы MATLAB расположены в порядке столбцов)
Кроме того, некоторые файлы txt можно открывать с помощью load
Предложение
f=load(‘fx.txt)
Я лично считаю, что первый способ лучше. Потому что иногда, особенно когда в одной строке fx.txt содержится несколько данных, использование load более проблематично.
0 Move toward the end of the file.
= 0 Do not change position.
char’) ’;% Прочтите заголовок файла DSAA
fscanf(fid,’\n’);
nx = fscanf (fid, ’% d’, 1);% прочитано количество строк данных сетки nnx, количество столбцов nnz
fp = fseek (fid, 1,0);% 1 означает, что указатель прочитанного файла сдвигается назад на 1 бит, а 0 означает, что указатель перемещается относительно текущей позиции
ny=fscanf(fid,’%d’,1);
fscanf(fid,’\n’);
xmin = fscanf (fid, ’% f’, 1);% считывает минимальное и максимальное значения x
fseek (fid, 4,1);% 4 означает, что указатель прочитанного файла сдвинут назад на 4 бита, 1 означает, что ссылочная позиция перемещения указателя является концом файла
xmax=fscanf(fid,’%f’,1);
fscanf(fid,’\n’);
ymin = fscanf (fid, ’% f’, 1);% считывает минимальное и максимальное значения y
fseek(fid,4,1);
ymax=fscanf(fid,’%f’,1);
fscanf(fid,’\n’);
zmin = fscanf (fid, ’% f’, 1);% считывает минимальное и максимальное значения z
fseek(fid,4,1);
zmax=fscanf(fid,’%f’,1);
fscanf(fid,’\n’);
for i = 1: ny% Обратите внимание, что Matlab хранит данные в порядке столбцов, сначала столбец 1, затем столбец 2, а затем последний столбец.
for m=1:nx
vp(i,m)=fscanf(fid,’%f’,1);
fseek(fid,4,1);
end
fscanf(fid,’\n’);
end
Документация
Откройте и сохраните файлы в редакторе
Открытие существующих файлов
Чтобы открыть существующий файл или файлы в Редакторе, выберите опцию, которая достигает ваших целей, как описано в этой таблице.
Открытый со связанным инструментом
Откройте файл с помощью соответствующего инструмента MATLAB ® для типа файла.
На Editor щелкает Live Editor или вкладка Home, в разделе File 
Также можно дважды кликнуть файл в Браузере текущей папки.
Открытый как текстовый файл
Откройте файл в Редакторе как текстовый файл, даже если тип файла сопоставлен с другим приложением или инструментом.
На вкладке Editor, в разделе File, нажимают Open 
Открытая функция из файла
Откройте локальную функцию или файл функции из файла в Редакторе.
Расположите курсор на имя в открытом файле, и затем щелкните правой кнопкой и выберите Open file-name из контекстного меню.
Также можно использовать этот метод, чтобы открыть модель Simulink ® или переменная.
Для получения дополнительной информации смотрите Открытый Файл или Переменная из Файла.
Вновь откройте файл
Вновь откройте недавно используемый файл.
В нижней части Open 
Чтобы изменить количество файлов в списке, нажмите 
Вновь откройте файлы при запуске
При запуске автоматически откройте файлы, которые были открыты когда предыдущий законченный сеанс работы с MATLAB.
На вкладке Home, в разделе Environment, нажимают 
Открытый файл, отображающийся в другом инструменте
Перетащите файл от другого инструмента в Редактор.
Открытый файл с помощью функции
Например, введите следующее, чтобы открыть collatz.m :
Если collatz.m не находится на пути поиска файлов или в текущей папке, используйте относительный или абсолютный путь в файле.
Для специальных замечаний на платформе Macintosh смотрите Навигацию В Корневой папке MATLAB на macOS Платформах.
Сохраните файлы
После того, как вы измените файл в Редакторе, звездочка (*) следует за именем файла. Эта звездочка указывает, что существуют несохраненные изменения в файле.
Можно выполнить четыре различных типов операций сохранения, которые оказывают различные влияния, как описано в этой таблице.
Сохраните файл на диск и сохраните файл открытым в Редакторе.
На вкладке Editor или Live Editor, в разделе File, нажатии кнопки 
Переименуйте файл, сохраните его на диск и сделайте его активным документом Редактора. Исходный файл остается неизменным на диске.
На вкладке Editor или Live Editor, в разделе File, нажимают Save 
Задайте новое имя, введите, или и для файла, и затем нажмите Save.
Сохраните файл на диск под новым именем. Исходный файл остается открытым и несохраненным.
На вкладке Editor, в разделе File, нажимают Save 
MATLAB открывает диалоговое окно Select File for Backup.
Задайте имя и тип для резервного файла, и затем нажмите Save.
Сохраните изменения во всех открытых файлах с помощью текущих имен файлов.
Все файлы остаются открытыми.
На вкладке Editor, в разделе File, нажимают Save 
Рекомендации на том, чтобы сохранить файлы
MathWorks ® рекомендует, чтобы вы сохранили файлы, которые вы создаете и файлы из MathWorks, который вы редактируете к папке, которая не находится в matlabroot дерево папки, где matlabroot папка, возвращенная, когда вы вводите matlabroot в Командном окне. Если вы сохраняете свои файлы в matlabroot папки, они могут быть перезаписаны, когда вы устанавливаете новую версию программного обеспечения MATLAB.
В начале каждого сеанса работы с MATLAB, загрузок MATLAB и кэшей в памяти местоположения файлов в matlabroot дерево папки. Поэтому, если вы:
Сохраните файлы к matlabroot папки с помощью внешнего редактора, запустите rehash toolbox прежде чем вы будете использовать файлы на текущем сеансе.
Добавьте или удалите файлы из matlabroot папки с помощью операций файловой системы, запустите rehash toolbox прежде чем вы будете использовать файлы на текущем сеансе.
Измените существующие файлы в matlabroot папки с помощью внешнего редактора, запустите clear function-name прежде чем вы будете использовать эти файлы на текущем сеансе.
Для получения дополнительной информации смотрите rehash или путь к тулбоксу, кэширующийся в MATLAB.
Поддержка файлов
Примечание
Live Editor и MATLAB Online автоматически не сохраняют копии файлов.
Чтобы выбрать настройки, нажмите 
Включите или выключите функцию резервного копирования.
Автоматически удалите резервные файлы, когда вы закроете соответствующий исходный файл.
По умолчанию 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 предусмотрены следующие функции
где: – это указатель на файл, с которым предполагается работать. Для того, чтобы получить идентификатор файла, используется функция 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( )
| Значение параметра | Описание параметра |
| ‘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 Drive в вашей системе, также можно получить доступ к файлам и папкам в MATLAB ® Drive™ из MATLAB.
, и затем выбирают файл, чтобы открыться.
на Preferences. Выберите MATLAB> General.