- •Программирование в среде Matlab Работу подготовил студент группы мп-31 Самсоненко Егор Введение
- •1. Работа в среде matlab
- •1.1 Командное окно
- •1.2 Система меню
- •1.3 Интерфейс matlab
- •2. Программирование в среде matlab
- •2.1 Команды ввода – вывода
- •2.1.1 Команды load и save
- •2.1.2 Форматные операции ввода-вывода
- •2.1.3 Команды для работы со стандартными файлами
- •2.2 Объектно-ориентированное программирование
- •2.3 Отладка
- •2.3.1 Отладка в командном режиме
- •2.3.2 Редактор medit и отладка
- •2.4 Разработка mex-файлов
2. Программирование в среде matlab
Изначально MATLAB был реализован на Фортране, и, хотя современные версии пишутся на С, язык MATLAB или М-язык конструкциями и отчасти синтаксисом напоминает Фортран. М-язык Является языком высокого уровня и предоставляет достаточные возможности для реализации разнообразных вычислений, задач обработки данных и т.д. Этот язык сконструирован для решения математических задач и содержит специальные средства для эффективного выполнения математических операций.
2.1 Команды ввода – вывода
В MATLAB поддерживается работа с внешними данными, подготовленными в различных форматах. Такая работа осуществляется при помощи набора эффективных команд. Для записи и считывания информации разработан специальный формат mat-файла, избавляющий пользователя от необходимости вникать в детали хранения данных. Более того, при помощи функций из библиотеки С можно создавать приложения с доступом к mat-файлам. Также имеется набор команд для форматного ввода и вывода информации, для записи бинарных файлов и для работы с некоторыми типами стандартных файлов.
2.1.1 Команды load и save
Мощными и удобными в работе являются команда save для сохранения информации и команда load для ее считывания. По умолчанию данные записываются в стандарте mat-файла. Схематически обращение к команде save выглядит следующим образом:
save [ИМЯ] [-ПАРАМЕТРЫ] [ПЕРЕМЕННЫЕ]
В квадратных скобках даны необязательные параметры, при отсутствии которых запись производится согласно системным назначениям. Когда имя файла ИМЯ не указано, то данные будут сохранены в двоичном файле matlab.mat. Если расширение файла пропущено, то данные запишутся в файл ИМЯ.mat. Список величин, подлежащих записи, задается параметром ПЕРЕМЕННЫЕ, при отсутствии которого сохраняются все данные из рабочей области.
Дополнительные ПАРАМЕТРЫ могут принимать следующие значения:
ascii – сохранение в виде ASCII-файла с мантиссой из восьми цифр;
ascii-double – сохранение в виде ASCII-файла с шестнадцатизначной мантиссой;
append – дозапись в существующий файл.
При сохранении информации в двоичном коде для записи вещественных чисел используется 8 байт, а для целочисленных переменных могут применяться следующие форматы: int8 (однобайтное целое число от -128 до 127), intl6 (двухбайтное целое число) и int32 (четырехбайтное целое число).
Назначения параметров для команды load аналогичны описанным ранее:
load [ИМЯ] [-ПАРАМЕТРЫ] [ПЕРЕМЕННЫЕ]
Из файла ИМЯ считываются только переменные, перечисленные в списке ПЕРЕМЕННЫЕ, а отсутствие списка вызовет считывание всех величин, сохраненных в файле ИМЯ.
Данные из ASCII-файла с именем NAME.ext можно считать по команде load NAME.ext
Сами данные должны быть организованы в виде массива с одинаковым числом элементов во всех строках, иначе при считывании данных будет выведено сообщение об ошибке. По прочтении данные будут помещены в массив с именем NAME.
Обращаться к командам load и save можно так же, как к функциям.
Использование вызова функции удобнее, если аргумент-строка формируется из нескольких частей. Например, можно предложить следующий фрагмент для считывания и последующей обработки данных дневных наблюдений за июнь, записанных в файлах Junel.dat, June2.dat и т.д.
To же самое, но с потерей эффективности (работает интерпретатор), можно реализовать при помощи следующего фрагмента:
» for n=l:30. s=[«load June» int2str(n)».dat»].eval(s).
% Обработка данных
end
Записать и считать переменные с общей частью в имени можно при помощи знака «*», например, чтобы сохранить все переменные, начинающиеся с сочетания abc, достаточно команды
» save abc*
