Сгенерированный код отображается в редакторе MATLAB. Сохраните код путем нажатия на File> Save As. Сгенерированные файлы не хранят данные, необходимые, чтобы воссоздать график, таким образом, необходимо предоставить аргументы данных. Аргументы данных не должны быть идентичны исходным данным.
Как сохранить в формате MAT?
- Сохраните ваши данные на диск в формате mat : save(‘a.mat’,’a’);
- Прочитайте сохраненный файл mat в виде массива байтов: fid = fopen(‘a.mat’,’r’); data = fread(fid);
- Отправка двоичных данных по сети:
Как сохранить командное окно в Матлаб?
- Вы можете сделать это с помощью команды DIARY. .
- Другой вариант, помимо использования команды DIARY и изменения файлов startup.m и finish.m , — запустить MATLAB с помощью опции -logfile : matlab -logfile «myTextLog.txt»
Что такое MAT файл?
mat файл? . mat расширения файлы, которые находятся в двоичном формате контейнера данных, который использует программа MATLAB. Расширение была разработана Mathworks и MAT файлы упорядочиваются в виде файлов данных, которые включают переменные, функции, массивы и другую информацию.
Сохранение и восстановление рабочей среды. Основы работы в MATLAB. Урок 5
Чем открывать файлы mat?
- Caligari trueSpace7 с подключаемым модулем Chaos Group V-Ray.
- MAXON CINEMA 4D с подключаемым модулем Chaos Group V-Ray.
- Autodesk 3ds Max с подключаемым модулем Chaos Group V-Ray.
- Autodesk Maya с подключаемым модулем Chaos Group V-Ray.
Как открыть MAT File?
Чем открыть файл в формате MAT
Доступ к нему можно получить при помощи компонента Material Editor в 3ds Max. Файл ярлыка Microsoft Access Table (MAT), создаваемый Microsoft Access — программой реляционных баз данных для настольных компьютеров.
Как сохранить программу в матлабе
Одним из самых простых способов сохранения вычисленных значений является сохранение рабочей среды (всех переменных) с помощью команды File — Save Workspace As … . При этом открывается диалоговое окно, в котором необходимо указать папку и имя сохраняемого файла. Файл рабочей среды имеет расширение mat . После выполнения этой команды все переменные и значения рабочей среды будут храниться в одном файле с расширением mat . Для загрузки рабочей среды необходимо выполнить команды File — Open .
Кроме сохранения переменных в файле рабочей среды в Matlab есть есть возможности работы с текстовым файлом, как и в языке программирования Си.
Для записи данных в текстовый файл необходимо выполнить следующие действия:
1. Открыть файл с помощью фунции fopen . Функция fopen ( filename , mode ) имеет два параметра: filename и – строка, в которой хранится полное имя открываемого файла, mode – строка, которая определяет режим работы с файлом; возможны следующие значения: « rt » — открываем текстовый файл в режиме чтения; « wt » — создаем пустой текстовый файл для записи; « rt +» — открываем текстовый файл в режиме чтения и записи; « wt +» — открываем пустой текстовый файл, в этом режиме можно записывать и читать данные из файла. Функция возвращает два параметра: файловая переменная и строка символов, в которой хранится сообщение о результатах открытия файла.
how to save matlab file
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 :
Как сохранить программу в матлабе
Save workspace variables on disk
Graphical Interface
As an alternative to the save function, select Save Workspace As from the File menu in the MATLAB desktop, or use the Workspace browser.
Description
save by itself stores all workspace variables in a binary format in the current directory in a file named matlab.mat . Retrieve the data with load . MAT-files are double-precision, binary, MATLAB format files. They can be created on one machine and later read by MATLAB on another machine with a different floating-point format, retaining as much accuracy and range as the different formats allow. They can also be manipulated by other programs external to MATLAB.
save(‘filename’) stores all workspace variables in the current directory in filename.mat . To save to another directory, use the full pathname for the filename . If filename is the special string stdio , the save command sends the data as standard output.
save(‘filename’, ‘var1’, ‘var2’, . ) saves only the specified workspace variables in filename.mat . Use the * wildcard to save only those variables that match the specified pattern. For example, save(‘A*’) saves all variables that start with A .
save(‘filename’, ‘-struct’ , ‘s’) saves all fields of the scalar structure s as individual variables within the file filename .
save(‘filename’, ‘-struct’ , ‘s’, ‘f1’, ‘f2’, . ) saves as individual variables only those structure fields specified ( s.f1 , s.f2 , . ).
save( ‘-regexp’ , expr1, expr2, . ) saves those variables that match any of the regular expressions expr1 , expr2 , etc.
save(. ‘ format ‘) enables you to make use of other data formats available with the save function. See the following table.
save filename var1 var2 . is the command form of the syntax.
By default, MATLAB compresses the data it saves to MAT-files. MATLAB also uses Unicode character encoding when saving character data. Specify the -v6 option if you want to disable both of these features for a particular save operation. If you save data to a MAT-file that you intend to load using MATLAB Version 6 or earlier, then you must specify the -v6 option when saving.
To override the compression and Unicode setting for all of your MATLAB sessions, use the Preferences dialog box. Open the Preferences dialog and select General and then MAT-Files. To disable data compression and Unicode encoding, click Ensure backward compatibility (-v6). To turn these features back on, click Use default features (Unicode and compression). See General Preferences for MATLAB in the Desktop Tools and Development Environment documentation for more information.
For information on any of the following topics related to saving to MAT-files, see Exporting Data to MAT-Files in the «MATLAB Programming» documentation:
-
Appending variables to an existing MAT-file Compressing data in the MAT-file Saving in ASCII format Saving in MATLAB Version 4 format Saving with Unicode character encoding Data storage requirements Saving from external programs
Save all variables from the workspace in binary MAT-file test.mat :
Save variables p and q in binary MAT-file test.mat :
Save the variables vol and temp in ASCII format to a file named june10 :
Save the fields of structure s1 as individual variables rather than as an entire structure.
Check what was saved to newstruct.mat :
Read only the b field into the MATLAB workspace.
Using regular expressions, save in MAT-file mydata.mat those variables with names that begin with Mon , Tue , or Wed :
Here is another way of doing the same thing. In this case, there are three separate expression arguments:
Save a 3000-by-3000 matrix uncompressed to file c1.mat , and compressed to file c2.mat . The compressed file uses about one quarter the disk space required to store the uncompressed data:
This example is similar to the last one, except that it saves one variable uncompressed, and then a second variable compressed to the same MAT-file. It then loads this data back into the MATLAB workspace:
Документация
Можно сохранить файлы в Редакторе и Live Editor, использующем несколько методов. В Редакторе также можно создать резервные копии файлов. Создание резервных копий ваших файлов гарантирует, что вы имеете известную рабочую версию файлов прежде, чем внести изменения в них и можете также быть полезны для восстановления потерянных изменений после системной проблемы.
В зависимости от ваших потребностей можно также управлять, как файлы вы сохранение кодируются и кэшируются.
Сохраните код
Когда вы изменяете файл в Редакторе или Live Editor, MATLAB ® указывает, что существуют несохраненные изменения в файле путем отображения звездочки (*) рядом с именем файла во вкладке документа.
Чтобы сохранить файл, перейдите к вкладке Editor или Live Editor, и в разделе File, нажмите Save.
Чтобы изменить название, местоположение или тип файла, выбирает Save> Save As. Например, чтобы сохранить live скрипт как простой файл кода ( .m ), на вкладке Live Editor, в разделе File, выбирают Save> Save As. В диалоговом окне, которое появляется, выберите MATLAB Code files (UTF-8) (*.m) как Save as type и нажимают Save.
Поддержите код
Можно создать резервные копии файлов в Редакторе. Создание резервной копии файла гарантирует, что у вас есть известная рабочая версия файла прежде, чем внести изменения в него. Чтобы создать резервную копию файла, на вкладке Editor, в разделе File, выбирают Save> Save Copy As. Эта опция не доступна в Live Editor или в MATLAB Online™ .
Кроме того, когда вы изменяете файлы в Редакторе, MATLAB автоматически создает резервные копии файлов. Если вы теряете изменения в своих файлах из-за системных проблем, можно использовать автоматически созданные резервные копии файлов, чтобы восстановить изменения.
По умолчанию MATLAB сохраняет резервную копию модифицированного файла каждые пять минут с помощью того же имени файла, но с .asv расширение. Например, filename.m имел бы имя резервного файла filename.asv . Если вы теряете изменения в своем файле, можно восстановить несохраненные изменения путем открытия резервной копии файла, filename.asv , и сохранение его как filename.m .
Чтобы измениться, как и когда MATLAB сохраняет резервные копии файлов, на вкладке Home, в разделе Environment, нажимают Preferences. Затем выберите MATLAB> Editor/Debugger> Backup Files. Можно задать:
Как часто сохранить резервные копии файлов, вы редактируете.
Какое расширение файла использовать при создании резервных копий файлов.
Где сохранить резервные копии файлов.
Удалить ли автоматически резервные копии файлов, когда вы закрываете соответствующий исходный файл в Редакторе.
Для получения дополнительной информации о доступных параметрах, смотрите настройки Резервных файлов в Настройках редактора/отладчика.
В MATLAB Online , каждый раз, когда вы сохраняете файл кода в Редакторе, MATLAB хранит содержимое вашего файла кода в истории версий. Для получения дополнительной информации о восстановлении предыдущей версии файла в MATLAB Online , смотрите Файлы Восстановления в MATLAB Online.
MATLAB автоматически не создает резервные копии файлов, измененных в Live Editor.
Рекомендации на том, чтобы сохранить файлы
MathWorks ® рекомендует, чтобы вы сохранили файлы, которые вы создаете к папке вне matlabroot дерево папки, где matlabroot папка, возвращенная, когда вы вводите matlabroot в Командном окне. Точно так же, когда вы редактируете файлы, которые вы получаете от MathWorks, сохраняете свою отредактированную версию вне matlabroot дерево папки. Если вы сохранили свои файлы в matlabroot дерево папки, они могут быть перезаписаны, когда вы устанавливаете новую версию MATLAB.
Если вы действительно сохранили файлы в matlabroot дерево папки, вы, возможно, должны сделать дополнительные шаги для своих изменений, чтобы вступить в силу. В начале каждого сеанса работы с MATLAB, загрузок MATLAB и кэшей в памяти местоположения файлов в matlabroot дерево папки. Поэтому, если вы добавляете, удаляете или вносите изменения в файлы в matlabroot дерево папки использование внешнего редактора или операций файловой системы, необходимо обновить кэш так, чтобы MATLAB распознал изменения, которые вы внесли. Для получения дополнительной информации смотрите, что Путь к Тулбоксу Кэшируется в MATLAB.
FileEncoding
С R2020a, когда Редактор сохранил новый файл кода MATLAB, который имеет .m расширение, такое как скрипт или функция, это использует UTF-8 без метки порядка байтов (BOM). Редактор сохранил существующие файлы с их текущим кодированием, если различный не выбран из Сохранения как диалоговое окно. Например, чтобы сохранить файл с помощью устаревшего специфичного для локали кодирования для совместимости с более ранним релизом MATLAB, на вкладке Editor, в разделе File, выбирают Save> Save as. В диалоговом окне, которое появляется, выберите желаемое кодирование из Сохранения как опции типа.
Текущее кодирование отображено рядом с именем файла в строке состояния Редактора или, если редактор Виндоу прикрепляется, Настольная строка состояния.
Related posts:
- Как удалить гугл тв с телефона андроид
- Как увеличить диапазон строк в excel
- Как уменьшить шрифт на компьютере с помощью клавиатуры
- Как создать директорию в java
Источник: www.kak-zarabotat-v-internete.ru
Работа с файлами в среде MATLAB
Создание программ часто предполагает сохранение результатов расчетов в файлы для их дальнейшего анализа, обработки и хранения. В связи с этим в среде MATLAB реализованы различные функции по работе с файлами, содержащие данные в разных форматах.
Для загрузки данных из файла,расположенного на локальном диске в рабочую средуMATLAB, используются следующие операторы: load, fread и fscanf. Для сохранения данных из рабочей среды MATLAB в файл на локальном диске предусмотрено использование следующих операторов: save, fwrite, fprintf.
В самом простом случае для сохранения и последующей загрузки каких-либо данных в среде MATLAB предусмотрены следующие функции, соответственно: save и load, имеющие следующий синтаксис:
Функция save позволяет сохранять произвольные переменные, используемые в программе в файл, который будет по умолчанию располагаться в рабочем каталоге (обычно поддиректория work) и иметь расширение mat. Соответственно функция load позволяет загрузить из указанного mat-файла ранее сохраненные переменные.
Недостатком функций save и load является то, что они работают с определенными форматами файлов (обычно mat-файлы) и не позволяют загружать или сохранять данные в других форматах. Между тем бывает необходимость загружать информацию, например, из бинарных файлов, созданных другими программными продуктами для дальнейшей обработки результатов в среде MATLAB. С этой целью в среде MATLAB предусмотрены следующие функции
где: – это указатель на файл, с которым предполагается работать. Для того, чтобы получить идентификатор файла, используется функция fopen, имеющая следующий синтаксис:
где: параметр < режим работы> может принимать значения, приведенные в таблице 1.
В том случае, если функция fopen() по каким-либо причинам не может корректно открыть файл, то она возвращает значение –1. После выполнения всех файловых операций файл должен быть закрыт с помощью функции 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 в других случаях и имеет следующий синтаксис:
Таблица 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() можно осуществлять запись разнородных данных в файл в требуемом формате, в том числе и строковых переменных, что позволяет размещать в файле различные текстовые надписи.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Как сохранить программу в матлабе
На 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.
Как сохранить программу в матлабе
Одним из самых простых способов сохранения вычисленных значений является сохранение рабочей среды (всех переменных) с помощью команды 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 :
Как сохранить программу в матлабе
Создание программ часто предполагает сохранение результатов расчетов в файлы для их дальнейшего анализа, обработки, хранения и т.п. В связи с этим в MatLab реализованы различные функции по работе с файлами, содержащие данные в самых разных форматах. В этой главе рассмотрим наиболее полезные функции для сохранения и загрузки результатов работы алгоритмов из файлов.
5.1. Функции save и load
В самом простом случае для сохранения и последующей загрузки каких-либо данных в MatLab предусмотрены две функции
Функция save позволяет сохранять произвольные переменные программы в файл, который будет (по умолчанию) располагаться в рабочем каталоге (обычно поддиректория work) и иметь расширение mat. Соответственно функция load позволяет загрузить из указанного mat-файла ранее сохраненные переменные. Ниже представлен пример использования данных функций:
function save_load
x = ones(5);
y = 5;
s = ‘hello’;
save params x y s;
x = zeros(5);
y = 0;
s = »;
load params x y s;
disp(x);
disp(y);
disp(s);
В данной программе сначала выполняется инициализация переменных x, y, s, затем, они сохраняются в файл params.mat, заменяются другими значениями и после загрузки отображаются на экране. При выполнении этой программы на экране будут показаны те же значения переменных, которые они принимали в самом начале. Таким образом демонстрируется работа функций save и load.
Следует обратить внимание, что функция load позволяет загружать из mat-файла не все, а только указанные программистом переменные, например
load params x; % загружает только значение переменной x
load params y; % загружает только значение переменной y
load params x s; % загружает значения переменных x и s
§ 5. Файл-функции и файл-программы
Встроенный язык программирования MatLab достаточно прост, он содержит необходимый минимум конструкций, которые описаны в следующем параграфе. Прежде чем программировать в MatLab, необходимо понять, что все программы могут быть либо файл-функциями, либо файл-программами. Файл-программа является текстовым файлом с расширением m (M-файлом), в котором записаны команды и операторы MatLab. Разберем, как создать простую файл-программу.
В MatLab имеется редактор M-файлов, для запуска которого следует нажать кнопку New M-file на панели инструментов рабочей среды, либо выбрать в меню File в пункте New подпункт M-file. На экране появляется окно редактора. Наберите в нем какие-либо команды, например для построения графика (см. листинг 5.1):
Листинг 5.1. Простейшая файл-программа
Для запуска программы или ее части есть несколько способов. Первый, самый простой — выделить операторы при помощи мыши, удерживая левую кнопку, или при помощи клавишы 1 со стрелками, , и выбрать в меню View пункт Evaluate Selection (или нажать ). Выделенные операторы выполняются последовательно, точно так же, как если бы они были набраны в командной строке. Очевидно, что работать в M-файле удобнее, чем из командной строки, поскольку можно сохранить программу, добавить операторы, выполнять отдельные команды не пробегаясь по истории команд, как в случае командной строки.
После того, как программа сохранена в M-файле, к примеру в myprog.m, для ее запуска можно использовать пункт Tools меню Run, либо просто набрать в командной строке имя M-файла (без расширения) и нажать , то есть выполнить, как обычную команду MatLab. При таких способах запуска программы следует учесть важное обстоятельство — путь к каталогу с M-файлом должен быть известен MatLab. Сделайте каталог с файлом myprog текущим.
В MatLab 5.3 в меню File рабочей среды перейдите к пункту Set Path… Появляется диалоговое окно Path Browser (навигатор путей). В строке ввода Current Directory установите требуемый каталог. Воспользуйтесь кнопкой, расположенной справа от строки ввода, для выбора каталога.
В MatLab 6.x установка текущего каталога производится из окна Current Directory рабочей среды. Если это окно отсутствует, то следует выбрать пункт Current Directory меню View рабочей среды. Для выбора желаемого каталога на диске нажмите кнопку, расположенную справа от раскрывающегося списка.
Когда текущий каталог установлен, то все M-файлы, находящиеся в нем, могут быть запущены из командной строки, либо из редактора M-файлов. Все переменные файл-программы после ее запуска доступны в рабочей среде, т. е. являются глобальными. Убедитесь в этом, выполнив команду whos. Более того, файл-программа может использовать переменные рабочей среды. Например, если была введена команда:
» a=[0.1 0.4 0.3 1.9 3.3];
то файл-программа, содержащая строку bar(а), построит столбцевую диаграмму вектора a (разумеется, если он не был переопределен в самой файл-программе).
Листинг 5.2. Файл-функция mysum
Наберите этот пример в новом файле в редакторе и сохраните его. Обратите внимание, что MatLab предлагает в качестве имени M-файла название файл-функции, т.е. mysum.m. Всегда сохраняйте файл-функцию в M-файле, имя которого совпадает с именем файл-функции! Убедитесь, что каталог с файлом mysum.m является текущим и вызовите файл-функцию mysum из командной строки:
При вызове файл-функции mysum произошли следующие события:
входной аргумент a получил значение 2;
входной аргумент b стал равен 3;
сумма a и b записалась в выходной аргумент c;
значение выходного аргумента c получила переменная s рабочей среды и результат вывелся в командное окно.
Заметьте, что оператор c=a+b в файл-функции mysum завершен точкой с запятой для подавления вывода локальной переменной c в командное окно. Для просмотра значений локальных переменных при отладке файл-функций, очевидно, не следует подавлять вывод на экран значений требуемых переменных.
Практически все функции MatLab являются файл-функциями и хранятся в одноименных M-файлах. Функция sin допускает два варианта вызова: sin(x) и y=sin(x), в первом случае результат записывается в ans, а во втором — в переменную y. Наша функция mysum ведет себя точно так же. Более того, входными аргументами mysum могут быть массивы одинаковых размеров или массив и число.
Разберем теперь, как создать файл-функцию с несколькими выходными аргументами. Список выходных аргументов в заголовке файл-функции заключается в квадратные скобки, сами аргументы отделяются запятой. В качестве примера на листинге 5.3 приведена файл-функция quadec, которая по заданным коэффициентам квадратного уравнения находит его корни.
Листинг 5.3. Файл-функция для решения квадратного уравнения
При вызове quadeq из командной строки используйте квадратные скобки для указания переменных, в которые будут занесены значения корней:
Заметьте, что файл-функцию quadec можно вызвать без выходных аргументов, или только с одним выходным аргументом. В этом случае вернется только первый корень.
Файл-функция может и не иметь входных или выходных аргументов, заголовки таких файл-функций приведены ниже:
function noout(a,b), function [v,u]=noin, function noarg()
Умение писать собственные файл-функции и файл-программы необходимо как при программировании в MatLab, так и при решении различных задач средствами MatLab (в частности, поиска корней уравнений, интегрирования, оптимизации 1 ). Разберем только один пример, связанный с построением графика функции на отрезке
. Запрограммируйте файл-функцию myfun для вычисления
. Используйте поэлементные операции (см. листинг 5.4) для того, чтобы myfun можно было вызывать от вектора значений аргумента и получать вектор соответствующих значений функции.
Листинг 5.4. Файл-функция myfun
График можно получить двумя способами. Первый очевидный — надо создать вектор значений аргумента, скажем с шагом 0.01, заполнить вектор значений функции и вызвать plot:
В результате получается график, приведенный на рис. 5.1, а, который, очевидно, неверен. Действительно, при вычислении значений функции на отрезке с шагом 0.01 слагаемое
все время обращалось в ноль и plot построила график не
, а другой функции.
Непродуманный выбор шага часто приводит к потере существенной информации о поведении функции. В MatLab имеется встроенная функция fplot — некоторый аналог plot, но с автоматическим подбором шага при построении графика. Первым входным аргументом fplot является имя файл-функции, а вторым — вектор, элементы которого есть границы отрезков: fplot(‘имя файл-функции’, [a,b]). Постройте теперь в новом окне график при помощи fplot:
Получился график, точно отражающий поведение функции (рис. 5.1, б).
Задания для самостоятельной работы
Написать файл-функции и построить графики на заданном отрезке при помощи plot (с шагом 0.05) и fplot для следующих функций:
Варианты
1. . 2.
.
3. . 4.
.
5. . 6.
.
7. . 8.
.
9. .
10. .
Задания для самостоятельной работы
Написать файл-функцию для решения поставленной задачи.
Варианты
Написать файл-функцию, которая по заданному вектору определяет номер его элемента с наибольшим отклонением от среднего арифметического всех элементов вектора.
Написать файл-функцию, возвращающую сумму всех элементов вектора с нечетными индексами.
Написать файл-функцию, вычисляющую максимальное значение среди диагональных элементов заданной матрицы.
Написать файл-функцию, переставляющую первый столбец квадратной матрицы с ее диагональю.
Написать файл-функцию, которая суммирует все внедиагональные элементы заданной матрицы.
Написать файл-функцию, заменяющую максимальный элемент вектора средним значением всех его элементов.
Написать файл-функцию, заменяющую элемент матрицы с индексами 1,1 произведением всех элементов матрицы.
Написать файл-функцию, которая строит многоугольник (замкнутый) по заданным векторам x и y с координатами вершин.
Написать файл-функцию, которая отображает элементы заданного вектора синими маркерами, а максимальный элемент — красным и возвращает значение и номер максимального элемента.
Написать файл-функцию, переводящую время в секундах в часы, минуты и секунды.
Похожие публикации:
- Javascript как создать движущийся объект
- Как вырезать часть строки java
- Как установить chromedriver на windows
- Что значит кэшировано оперативной памяти
Источник: gshimki.ru