Matlab runtime что это

Обновлено: 01.07.2024

Настоящая статья является развитием статьи А. Емельянова "Взаимодействие MetaTrader 5 И MATLAB", предоставляя информацию о решении подобной задачи для современных 64-х разрядных версий всех платформ, применяемых пользователями. За истекший период в пакете MATLAB существенно модернизирован сам метод создания dll-библиотек совместного использования. Поэтому рассмотренный в исходной статье метод требует модификации. Это произошло потому, что теперь вместо MATLAB Compiler нужно применять MATLAB Compiler SDK или MATLAB Coder. Кроме того, изменилась практика работы с динамической памятью в MATLAB, что предполагает определенные корректировки программного кода, получающего доступ к библиотеке, написанной на языке MATLAB.

Из названия статьи становится ясным, что данная работа направлена на то, чтобы облегчить разработчикам задачу сопряжения вычислительных возможностей MATLAB с программами, написанными на MQL5. Для этого в работе в качестве примера проводится создание прогностического индикатора на основе модели Seasonal Autoregression Integrated Moving Average (SARIMA) для временного ряда цен, где на MATLAB возложена задача подбора адекватной модели и экстраполирование данных.

Чтобы продемонстрировать подробности подключения вычислительного потенциала среды MATLAB 2018 к MQL5 в данной статье рассматривается конкретно MATLAB Compiler SDK, а также создание библиотеки-адаптера на Visual C++ для сопряжения MATLAB-библиотеки к MQL5. Это позволяет получить краткое руководство для создания программ, чтобы избегать типичных ошибок, с которыми пришлось столкнуться.

Простые и сложные типы данных, описанные в 1-й главе статьи А. Емельянова, не изменились, и чтобы не дублировать качественно изложенный материал, желательно ознакомиться с представленным там описанием. Различия начинаются на этапе создания общей С++ библиотеки из среды MATLAB.

Изложение материала в статье построено по следующей схеме:

  1. На основании подготовленного для индикатора набора MATLAB-модулей формируется C++ Shared Library (dll-библиотека), которая содержит функционал калмановской фильтрации и прогнозирования данных на основе модели Seasonal Autoregression Integrated Moving Average .
  2. Затем выполняется подключение расчетного модуля к MQL5-программе. Для этого дополнительно создается библиотека-посредник, которая решает задачу передачи данных между MQL5, с памятью организованной в стиле C/C++, и MATLAB с памятью, организованной в матричной форме.
  3. Описывается модель прогнозирования, заложенная в создаваемый индикатор и демонстрируется его работоспособность.

1. Создание общей библиотеки С++ из функций MATLAB с помощью MATLAB Compiler SDK

Как и прежде, приложения, созданные с использованием программных компонентов из пакета MATLAB Compiler SDK, можно бесплатно распространять среди пользователей, которым не требуется MATLAB. Эти приложения используют MATLAB Runtime и набор общих библиотек, которые используют скомпилированные приложения или компоненты MATLAB.

Задача, которая возлагалась на приложение MATLAB Compiler, был делегирована программе Library Compiler. Для полноты картины рассмотрим процедуру создания C/C++ shared library из среды MATLAB. В zip-архиве, прилагаемом к статье, содержатся файлы с расширением .m, которые использовались для создания библиотеки. На MATLAB (на вкладке APPS) запускается приложение Library Compiler, открывается проект LibSARIMA.prj и организуется структура, подобная изображенной на рисунке.

Рис.1. Интерфейс Library Compiler

Рис.1. Интерфейс Library Compiler.

Здесь важно обратить внимание на позиции, выделенные на рис. 1 линиями и цифрами 1-4.

  1. Создается общая библиотека стандарта С++
  2. Экспортируется функция, представленная в файле ForecastSARIMA.m, при этом другие функции не представлены к экспорту и доступу внешним программам.
  3. Генерируются файлы для линковки в стандартном интерфейсе (matlabsarima.dll, matlabsarima.h, matlabsarima.lib).
  4. Используется интерфейс доступа к матричной памяти MATLAB посредством структур mwArray.

После нажатия на кнопку «Package» будет выполнена генерация библиотеки. Можно выбрать режим формирования библиотеки с запросом пользователем загрузки пакета MATLAB Engine из интернета, а можно изначально включить необходимые составляющие MATLAB Engine в содержание пакета.

На этом этапе будет создана библиотека с программой, которая предназначена для фильтрации временного ряда, построения модели SARIMA и прогнозирования. В архиве MatlabSArima.zip предоставлен набор исходников и результат библиотечной сборки.

2. Создание библиотеки-посредника на Microsoft Visual С++

После создания основной библиотеки следующей задачей будет к ней подключиться, передать данные и забрать результаты после расчетов. Речь идет о создании библиотеки-адаптера, обеспечивающего трансляцию данных между MQL5, где память организована в стиле C/C++, и MATLAB с памятью, организованной в матричной форме.

В новых версиях MATLABx64 компилятор Visual C++ является одним из основных, для которого подготовлено все необходимое обеспечение. Поэтому наиболее быстрым, удобным и надежным способом подготовить вспомогательную библиотеку-адаптер является применение именно Visual C++ в Studio 2017.

Взаимодействие MetaTrader 5 с MATLAB 2018

Рис. 2. Блок-схема взаимодействия MetaTrader 5 с MATLAB 2018 посредством DLL-адаптера

Важным нововведением в 2017 году для создания и интеграции упакованных функций в приложения C++ стало внедрение в MATLAB таких структур как mwArray API. Произошла модернизация mxArray, который использовались ранее, на новый матричный интерфейс. Имеется еще один вариант интеграции совместно используемой библиотеки — интерфейс MATLAB Data API, но в нашем случае он не имеет значения.

Чтобы приступить непосредственно к программированию адаптера для данных, желательно в операционной системе подготовить и зарегистрировать три системные переменные среды. Это можно, например, сделать с помощью проводника через "свойства компьютера", зайдя в "дополнительные параметры системы" и "переменные среды".

  1. Первая переменная — MATLAB_2018 должна указывать на каталог с установленным MATLAB или MATLAB Runtime;
  2. Вторая переменная — MATLAB_2018_LIB64 должна указывать на каталог с внешними библиотеками: <MATLAB_2018>\extern\lib\win64;
  3. Третья переменная — MATLIB_USER должна указывать на каталог, куда следует помещать оригинальные библиотеки. Этот каталог нужно также добавить в системную переменную Path, чтобы снять проблему поиска оригинальных библиотек пользователя.

2.1 Программирование адаптера в Visual Studio 2017

После создания проекта библиотеки динамической компоновки в среде Visual Studio 2017, нужно установить ряд свойств. Чтобы было понятно, какие из них необходимо контролировать, приведем рисунки по которым легко настроить проект на сборку.

Рис. 4. Каталоги поиска необходимых файлов для проекта

На рис. 4 в поле, указанное стрелочкой "Каталоги библиотек", добавлен каталог $(MatLib_User) . В эту директорию удобно помещать библиотеки общего предназначения, которые нужны и для программирования в Visual C/C++ и для расчетов в MetaTrader 5. В данном случае это matlabsarima.lib и matlabsarima.dll.

Рис. 5. Установить определения препроцессора

Соглашение о вызовах

Рис. 6. Соглашение о вызовах согласно требованиям MQL5

Дополнительные зависимости (*.lib)

Рис. 7. Указать дополнительные зависимости (*.lib)

Перечислим необходимые изменения в настройках проекта:

  1. Указать каталоги, где располагаются файлы необходимых заголовков;
  2. Указать каталоги, где располагаются файлы необходимых библиотек;
  3. Установить определения препроцессора — макрос, функционал которого будет рассмотрен ниже;
  4. Указать конкретные библиотеки, необходимые для работы (подготовленные MATLAB).

Два сгенерированных с помощью MATLAB файла matlabsarima.lib и matlabsarima.dll нужно поместить в каталог общего доступа, обозначенного в системных переменных $(MATLIB_USER). А файл matlabsarima.h должен быть в директории где собирается проект. Его надо включить в состав "Файлов заголовков" проекта.

Для сборки адаптера останется создать несколько файлов, из которых стоит рассмотреть два.

1. Файл AdapterSArima.h

В файле AdapterSArima.h используется макрос, установленный в настройках, чтобы указать, что процедуры prepareSARIMA(), closeSARIMA() и goSarima(. ) доступны для связки с внешними программами

2. Файл GoSArima.cpp

Для полноты картины в zip-архиве представлены все файлы для сборки библиотеки-посредника AdapterSArima.dll. Если будет необходимость, рекомендуется архив распаковать и пересобирать адаптер в директории C:\temp.

3. Создание индикатора

3.1 Постановка задачи и метод решения

Модель авторегрессии и скользящего среднего является исключительно полезной для описания некоторых встречающихся на практике временных рядов. Эта модель соединяет в себе НЧ-фильтр в виде скользящего среднего порядка q и авторегрессию фильтрованных значений процесса порядка p. Если в качестве входных данных использовать не сами значения временного ряда, а их разность d-порядка (на практике d необходимо определять, однако в большинстве случаев d ≤ 2), то модель носит название авторегрессии проинтегрированного скользящего среднего. Подобная модель — ARIMA(p,d,q) (autoregression integrated moving average) позволяет уменьшить влияние нестационарности оригинального ряда.

Для моделирования эффектов долгопериодной изменчивости имеется модификация, которая называется Seasonal ARIMA. Такая модель соответствует временным рядам подверженным воздействию периодических факторов. В биржевых котировках присутствует влияние факторов сезонности, поэтому их учет в модели подходит для построения прогноза цен в индикаторе.

Чтобы снизить влияние шумовых факторов в поступающих биржевых котировках желательно предусмотреть возможность дополнительной фильтрации и очистки данных от погрешностей. Чем сильнее зашумлены данные, тем сложнее их обрабатывать. Фильтр Калмана — эффективный алгоритм рекурсивной фильтрации, используемый в различных областях. Алгоритм состоит из двух повторяющихся фаз: предсказание и корректировка. На первом шаге рассчитывается предсказание состояния в следующий момент времени (с учетом неточности их измерения). Далее, с учетом новой информации, корректируется предсказанное значение (также с учетом неточности и зашумленности этой информации).

3.2 Программа индикатора на MQL5

Необходимые для индикатора библиотеки AdapterSArima.dll и matlabsarima.dll должны быть помещены в директорию Libraries рабочего каталога MetaTrader 5.

Имеется некоторая специфика отладки и тестирования. В этом режиме MetaEditor запускает библиотеку из вспомогательных каталогов <MetaQuotes\Tester\. \Agent-127.0.0.1-300x>, где 300х принимает значения 3000, 3001, 3002 и т.д. При этом библиотека AdapterSArima.dll копируется автоматически, а matlabsarima.dll - нет. Чтобы это не влияло на работу индикатора, библиотека matlabsarima.dll должна быть в системном каталоге, где проводится поиск. Рекомендовалось обозначить такой каталог через $(MATLIB_USER) и указать в системном списке путей поиска или скопировать в Windows или Windows\System32. Тогда библиотека будет обнаруживаться, подключаться и индикатор запустится.

Программа индикатора, в котором задействован прогноз по рассмотренной модели, содержится в файле ISArimaForecast.mq5 и прилагаемом архиве.

4. Иллюстрация работы индикатора

Работоспособность индикатора была опробована на данных торговли EURUSD H1, предоставленным платформой MetaTrader. Был выбран не слишком большой сегмент данных, размер которого 450 отсчетов, а варианты длиннопериодного "сезонного" лага опробованы 28, 30 и 32 отсчета, лучшим из них на рассмотренном периоде истории был лаг с периодом 32 отсчета.

Выполнялась серия расчетов для разных фрагментов истории. Длина сегмента данных в модели – 450, сезонный лаг 32 и длина прогноза 30 были установлены один раз и не менялись. Чтобы оценить качество прогноза полученные результаты для разных фрагментов сравнивались с фактическими данными.

Приведем рисунки, демонстрирующие результат работы индикатора. На всех рисунках шоколадным цветом отображено завершение фрагмента, по которому в MATLAB была подобрана модель SARIMA(2,1,2), а полученный на ее основании построен прогноз отрисован синим цветом.

EURUSDH1_450(32)-180

Рис. 8. Т орговая сессия 30.12.2018. Фильтрация Калмана применяется . Модель построена по данным со сдвигом в прошлое на 180 отсчетов

 EURUSDH1_450(32)-170

Рис. 9. Дневная торговая сессия 30.12.2018. Фильтрация Калмана не используется. Модель построена по данным со сдвигом в прошлое на 170 отсчетов

EURUSDH1_450(32)-140

Рис. 10. Торговая сессия 31.12.2018. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 140 отсчетов

EURUSDH1_450(32)-120

Рис. 11. Торговая сессия 1.02.2019. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 120 отсчетов

EURUSDH1_450(32)-100

Рис. 12. Торговая сессия 4.02.2019. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 100 отсчетов

EURUSDH1_450(32)-50

Рис. 13. Торговая сессия 6.02.2019. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 50 отсчетов

EURUSDH1_450(32)-20

Рис. 14. Торговая сессия 7.02.2019. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 20 отсчетов

EURUSDH1_450(32)-10

Рис. 15. Торговая сессия 8.02.2019. Фильтрация Калмана применяется. Модель построена по данным со сдвигом в прошлое на 10 отсчетов

Результаты моделирования показывают неплохую вероятность совпадения значений спрогнозированных цен в первых 10-12 отсчетах и значений, наблюдавшихся в реальном времени. При чем, что интересно, от трейдера требуется немного труда для настройки модели. Для модели нужны два параметра — длина сегмента и период сезонности, которые можно выбрать методом прогонки на данных ближайшей истории. Остальная расчетная нагрузка достается MATLAB. В дальнейшем можно рассмотреть оптимальный подбор параметров длины сегмента и период сезонности как направление для модернизации индикатора.

Заключение

В статье был продемонстрирован весь цикл разработки программного обеспечения с применением 64-х разрядных версий пакетов MQL5 и MATLAB 2018. Дополнительно показано применение Visual C++ 2017 (x64) для создания адаптера, обеспечивающего трансляцию данных между MetaTrader, где память организована в стиле C/C++, и MATLAB с памятью, организованной в матричной форме.

Представленный индикатор с прогнозированием на основе модели SARIMA и фильтра Калмана является демонстрацией возможностей применения MATLAB в эконометрических приложениях. Он имеет большой потенциал для дальнейшего развития, если в MATLAB развить обработку полученных данных и автоматизировать определение сезонных компонент с целью оптимизации рабочей модели для прогнозирования.

Пример индикатора является иллюстрацией применения MATLAB — пакета, который позволит эффективно и быстро подключить к торговым системам MetaTrader нейросети, алгоритмы нечеткой логики и другие сложные и современные методы обработки биржевых котировок.

Зачем это нужно?

Очень часто перед программистом встает задача вычисления сложной математики. MATLAB в свою очередь является отличным средством для решения, но слаб в создании полноценного пользовательского приложения (можно воспользоваться инструментами GUI MATLAB'a, но это меня не устроило).

Инструменты

  1. Microsoft Visual Studio 2008 SP1
  2. MATLAB 2010a
  3. MATLAB Component Runtime

Шаг 1. Настройка линкера

Please choose your compiler for building standalone MATLAB applications:

Would you like mbuild to locate installed compilers [y]/n? y

Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA

1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in C:\Program Files\Microsoft Visual Studio 9.0

Please verify your choices:

Compiler: Microsoft Visual C++ 2008 SP1
Location: C:\Program Files\Microsoft Visual Studio 9.0

Are these correct [y]/n? y

Получаем радостное Done . Все — линкер настроен.

Шаг 2. Пишем m-функцию

Напишем функцию построения 3D-плоскости в заданных граничных условиях, для большего интереса вернем дескриптор функции.

function res=plane(strfunc,vx0,vx1,vy0,vy1,h)
vx=vx0:h:vx1;
vy=vy0:h:vy1;
figure(1)
res=ezsurfc(strfunc,vx,vy);
end

Как видно функция состоит из шести строчек кода, однако выполняет все вышеуказанные действия: в качестве входных параметров принимает символьную функцию ( strfunc ), начальные и конечные значения векторов границ плоскости (v x0,vx1,vy0,vy1 ), шаг сетки ( h ) и возвращает дескриптор ( res ).
Сохраняем данный код как plane.m.

Важно: компилятор MATLAB'а понимает только функции т.е., каждый сценарий должен начинаться с function (желательно заканчиваться end ) и быть отдельным m-файлом.

Шаг 3. Получаем динамическую библиотеку

image

Далее создаем класс planeClass, добавляем в него plane.m и нажимаем кнопку build

image

После успешной компиляции создается интересующая нас библиотека MATLABplane.dll, находиться она будет здесь: . MATLABplane\distrib\MATLABplane.dll.

Добавляем ссылки на библиотеки

Перед использованием методов проекта, необходимо добавить ссылки на скомпилированную библиотеку MATLABplane.dll и на библиотеку MWArray.dll, найти ее можно по адресу . \MATLAB\R2010a\toolbox\dotnetbuilder\bin\win32\v2.0. После добавления должно получиться:

image

Для использования библиотек в проекте необходимо добавить описание пространства имен:

Создаем форму

С помощью панели инструментов в конструкторе создаем форму будущего приложения.

image

Для создания формы были использованы следующие блоки: Label, TextBox, RichBox, Button.

Пишем код
  1. Получение функции в символьном виде и значений с текстовых полей
  2. Вызов метода plane из класса planeClass
  3. Получение выходного массива descriptor (тип MWNumericArray)
  4. Вывод массива descriptor в RichBox

Компилировать и выпускать автономные исполняемые программы в среде MATLAB и генерировать файлы установочного пакета

Скомпилировать и выпустить автономную исполняемую программу .exe в среде MATLAB И сгенерируйте файл установочного пакета

Как скомпилировать программу MATLAB .M в независимую исполняемую программу, которая запускается непосредственно в Windows? Как опубликовать скомпилированную автономную исполняемую программу на персональном компьютере без MATLAB? Ниже приводится подробное описание процесса внедрения:

1. Шаги по созданию независимой исполняемой программы (exe-файла)

1 , Установите компилятор. Вариантов много, здесь я рекомендую использовать Visual Studio 2017.

2 , Настроить компилятор. После открытия Matlab R2018b,


Введите команду mbuild-setup в командной строке matlab (обратите внимание, что между mbuild и -setup должен быть пробел; -это знак минус, введенный в методе ввода на английском языке), а затем с помощью мыши выберите соответствующий параметр в соответствии с вашими потребностями.

3 , Вызвать компилятор.

Пример 1: Создание исполняемых файлов графического интерфейса пользователя из среды MATLAB

Созданную нами программу с графическим интерфейсом пользователя можно открыть и запустить только в среде MATLAB. Это неудобно. Очевидно, мы можем легко подумать, можно ли преобразовать ее в exe-файл и запустить непосредственно на любом компьютере под Windows (включая ПК без установленного MATLAB)?

Используя команду компиляции MATLAB, мы можем генерировать исполняемые файлы графического интерфейса пользователя.

Если файл проекта содержит: gui.m, subgui.m и соответствующие им файлы fig и другие файлы ресурсов, введите командную строку в текущий рабочий путь: mcc –m gui.m subgui.m

Примечание. Вы можете определить, какие файлы будут созданы заново по текущему пути, в зависимости от времени создания файла.

Сначала появится черное окно DOS, а затем через некоторое время появится основной интерфейс приложения.


4 , Установите библиотеку времени выполнения MCR.

Запустите исполняемую программу, только что сгенерированную на ПК, без установленного MATLAB, библиотека функций, которую необходимо вызвать, называется MATLAB Runtime.

Я использую здесь версию MCR_R2018b_win64_installer.exe.

Скопируйте все файлы, созданные на шаге 3, и необходимые файлы ресурсов (например, изображения и т. Д.) В любую ту же папку на компьютере. Запустите ***. Exe для выполнения.

5 , Удалите «черное окно DOS» при запуске и запуске независимой исполняемой программы.

Используйте mcc -e Bathymetry.m about.m вместо mcc -m Bathymetry.m about.m для создания файла .exe.

Часто используемые параметры команды mcc -e автономный исполняемый файл запускается без окна MS-DOS.

Часто используемые параметры команды Mcc -a Иногда вам нужно использовать команду -a для добавления дополнительных файлов

MATLABСоздать инсталляционный пакет независимой исполняемой программы в среде

Самый простой способ выпустить установочный пакет программы для пользователей - использовать инструмент deploytool.Процесс работы выглядит следующим образом:

Введите в командной строке deploytool и нажмите Enter, мышь выбирает первый элемент во всплывающем окне Компилятор приложений.


  1. Установите главный файл для создания автономной исполняемой программы

Добавить основной файл Щелкните синий значок плюса за розовым полем, чтобы добавить основной файл .m программы из установочного пакета.

Среда выполнения, включенная в пакеты, установите этот флажок, то есть выпущенный установочный пакет программы поставляется с MCR

Рекомендуется выбрать среду выполнения по умолчанию, загруженную из Интернета. Преимущество этого состоит в том, что в процессе компиляции нелегко совершать ошибки, а размер сгенерированного файла установочного пакета невелик. Недостатком является то, что вам необходимо вручную загрузить и установить соответствующую версию MCR перед запуском сгенерированного файла установочного пакета. В противном случае онлайн-процесс установки MCR займет много времени.


Введите информацию по умолчанию, отображаемую при установке программы.
Application information
Application Name Название приложения
Author Name Имя автора
Company Производственная компания
Summary Сводная информация
Description Подробное описание
Additional installer options

Default installation folder Путь установки программного обеспечения по умолчанию

Installation notes Информационная подсказка перед выходом после установки


Наконец, ярлык независимой исполняемой программы .exe устанавливается в маленькой кнопке с пиктограммой слева от имени приложения.

Изображение перехода, отображаемое при запуске автономной исполняемой программы .exe, устанавливается на экране-заставке «Выбрать пользовательский» справа.

Создать исполняемый установочный пакет автономной программы
Files installed for your end user Кнопка «плюс» справа позволяет интегрировать документацию и другие файлы ресурсов, которые необходимо упаковать, в установочный пакет и выпускать его в установленном вами каталоге установки программного обеспечения.
После того, как все будет готово, нажмите кнопку «Пакет» мышью.


Программа Матлаб (Matlab) — что это такое

MATLAB – сокращенное название Matrix Laboratory, представляет собой профессиональные инструменты в комплексе для проведения технических вычислений и компьютерного моделирования, соответствующих строгим требованиям качества.

Программный пакет разработан компанией MathWorks. Особенностью обеспечения является широкий спектр опций, с помощью которых можно анализировать данные различных математических областей, включая линейную алгебру и математическую статистику. Функционал ресурса достаточно просто увеличить, применяя отдельно распространяемые наборы опций или toolbox. Дополнительные пакеты являются коллекциями функций, которые написаны на языке MATLAB. Подобная конфигурация бесплатной программы позволит решить конкретные задачи, такие как цифровая обработка сигналов или описание финансового анализа.

Для чего нужна, области использования

MATLAB сегодня – это мощнейший комплект пакетных решений, направленных на быструю и качественную обработку данных. Разработчики продукта постарались охватить все области математики. Возможности программного обеспечения:

  • производство всевозможных операций с матрицами, решение линейных уравнений, работа с векторами;
  • вычисление корней многочленов разных степеней, выполнение операций над многочленами, дифференциация, экстраполяция и интерполяция кривых, построение графиков любых функций;
  • проведение статистического анализа данных с помощью цифровых фильтров и статистической регрессии;
  • решение дифференциальных уравнений частного производного, линейного, нелинейного вида, а также с граничными условиями;
  • выполнение операций целочисленной арифметики;
  • визуализация данных, включая трехмерные графические изображения и анимированные ролики.

Кроме огромного ассортимента функций программный продукт комплектуется различными приложениями. Специальные инструменты разрабатывают энтузиасты и другие компании.

Работа с матлаб

MATLAB является языком программирования, который необходим для корректной работы программы.

Продукты, написанные языком MATLAB, представлены в нескольких видах. Основными являются:

Основным рабочим файлом программы служит М-файл. Он представляет собой бесконечный текст, в котором происходит программирование вычислений. Однако, чтобы начать работать в программе Матлаб, не нужно иметь специальной квалификации и навыков программирования. М-файлы представлены двумя типами:

  1. М-сценарии являются простыми видами М-файла, не включают входных и выходных аргументов, используются для автоматизации многократно повторяющихся расчетов.
  2. М-функции могут содержать входные и выходные аргументы.

С помощью эффективной программы существенно облегчается процесс обучения в вузе. Также Матлаб завоевал популярность среди специалистов многих научных и инженерных отраслей. Благодаря возможности обработки больших матриц, MATLAB часто используют для финансовой аналитики.

Как запустить программу

Установка Matlab на компьютер не займет много времени. Прежде всего, необходимо вставить инсталляционный диск с пакетом в привод ПК. Установочный файл запускается в автоматическом режиме. При необходимости можно открыть его вручную с помощью запуска Setup.exe, который размещен в корневой директории установочного диска. Распаковка инсталляционных файлов занимает некоторое время. По окончанию процедуры откроется окно:

Запуск программы матлаб

Здесь следует выбрать пункт под названием «Install manually without using the Internet», что означает выборочную установку без помощи Интернет. Далее необходимо нажать на кнопку Next. Пользователь увидит окно с лицензионным соглашением:

Лицензия матлаб

В этом случае от пользователя требуется принять условия лицензионного соглашения, нажать на кнопку Yes и продолжить установку кнопкой Next. Далее следует ввести инсталляционный ключ, который сохранен в файле под названием fik.txt:

Ключ

В открывшемся поле требуется выбрать пункт под названием «I have the File Installation Key for my license», то есть «У меня есть файл с инсталляционным ключом для моей лицензии». Из полученного файла следует скопировать ключ и вставить его в поле, расположенное под выбранным пунктом. После нажатия на кнопку Next будет выполнен переход к выбору установки из вариантов:

  1. по умолчанию Typical;
  2. настраиваемая версия Custom.

4 Установка матлаба

Рекомендуется в данном случае выбрать установку по умолчанию, отметив пункт с названием Typical, и нажать на кнопку Next. Далее пользователь увидит окно с выбором папки для дальнейшей установки программы:

5 Установка матлаба

Здесь следует задать путь, по которому будет выполняться установка программного обеспечения. После нажатия на кнопку Next откроется окно с выбором лицензионного файла, который предоставляется в комплекте с установочным диском и носит название license.dat.

6 Установка матлаба

В данном поле необходимо задать полный путь до этого файла с лицензией с названием самого файла. После нажатия на кнопку Next запустится процесс установки программы:

7 Установка матлаба

По завершению процедуры пользователь увидит окно:

При нажатии на кнопку Finish окно установки будет закрыто. На этом процесс полностью завершен. Рекомендуется сразу перезагрузить компьютер. При необходимости перезагрузку можно отложить. Во втором случае могут возникать некоторые ошибки при работе программы MATLAB.

Наборы инструментов

Программа Матлаб представляет собой комплекс из многих тысяч файлов. Они располагаются во множестве папок. Благодаря знанию содержания основных папок можно оперативно ознакомиться с возможностями системы и повысить эффективность ее эксплуатации. Особо ценными файлами являются:

  • файлы с расширением .mat, которые представляют собой бинарные файлы для хранения значений переменных;
  • файлы с расширением .т в виде текстовых редакторов с внешними программами для определения команд и опций системы, включая большую часть используемых функций;
  • файлы с расширением .с в виде кодов на языке Си;
  • файлы с расширением .тех содержат откомпилированные коды MATLAB;
  • файлы с расширением .ехе в виде исполняемых команд.

В папке MATLAB/TOOLBOX/MATLAB размещены наборы стандартных m-файлов системы. Просмотр этого ресурса позволит оценить возможности конкретной версии программы, выполнить детальный анализ функций и инструментария. В общей подпапке командного назначения представлены следующие опции:

  • работа со справкой;
  • управление окном программы;
  • взаимодействие с ОС и другие.

Подпапки операторов, конструкций языка и системных опций представлены следующими видами:

  • ops — для операторов и специальных символов;
  • tang — конструкции языка программирования;
  • strfun — опции строк;
  • iofun — ввод и вывод;
  • timefun — время и дата;
  • datatypes — виды и форматы данных.

Подпапки, в которых размещены математические и матричные функции, содержат следующие элементы:

  • elmat — опции, создающие элементарные матрицы;
  • elfun — команды для элементарных математических функций;
  • specfun — специфические математические команды;
  • matfun — инструменты для линейной алгебры;
  • datafun — команды для анализа данных и преобразований Фурье;
  • polyfun — полиномиальные команды и интерполяция;
  • funfun — инструменты для функций и дифференциальных уравнений;
  • soarfun — разреженные матрицы.

Подпайки графических команд представлены следующими компонентами:

  • graph2d — управление двумерной графикой;
  • graph3d — работа с трехмерной графикой;
  • specgraph — опции специфической графики;
  • graphics — команды дескрипторной графики;
  • uitools — графика, используемая в пользовательском интерфейсе.

Профессиональные приложения Matlab

Toolboxes представляет собой всестороннюю коллекцию опций или m-файлов, которые написаны языком MATLAB и позволяют решить задачи определенного класса.

Профессиональные приложения

Данному инструментарию в программе Matlab отводится важная роль. С помощью специализированных групп программ представляется возможным масштабировать возможности программного обеспечения для разных отраслей. Наиболее востребованными приложениями являются:

  1. Цифровая обработка сигналов, изображений и данных: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox. Функции предназначены для решения широкого спектра задач. С их помощью можно обрабатывать сигналы, изображения, проектировать цифровые фильтры и системы связи.
  2. Системы управления: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox. Позволяют значительно облегчить аналитический труд, синтезировать динамические системы, создавать проекты и модели, идентифицировать системы управления, включая разные типы робастного управления, H∞-управления, ЛМН-синтеза, µ-синтеза.
  3. Финансовый анализ: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox. Инструменты, с помощью которых осуществляется оперативный и качественный сбор данных для их последующей обработки и передачи.
  4. Анализ и синтез географических карт, включая трехмерные: Mapping Toolbox.
  5. Сбор и анализ экспериментальных данных: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio. Благодаря таким расширениям легко сохранить и обработать экспериментальные данные, включая массивы, получаемые в режиме реального времени. Функции поддерживают многое научное и инженерное оборудование.
  6. Визуализация и представление данных: Virtual Reality Toolbox. Необходимы для создания интерактивных миров и визуализации научной информации, что обеспечивают технология виртуальной реальности и язык VRML.
  7. Средства разработки: MATLAB Builder for COM, MATLAB Builder for Excel, MATLAB Builder for NET, MATLAB Compiler, Filter Design HDL Coder, для создания независимых приложений из среды Матлаб.
  8. Взаимодействие с внешним программным обеспечением: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim. Комплексы сохраняют массивы данных таким образом, чтобы обеспечить возможность их дальнейшей обработки в других программах
  9. Базы данных: Database Toolbox.
  10. Научные и математические пакеты: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox, Spline Toolbox, Statistic Toolbox, RF Toolbox.
  11. Нейронные сети: Neural Network Toolbox, синтезируют и анализируют нейронные сети.
  12. Нечеткая логика: Fuzzy Logic Toolbox, позволяет построить и проанализировать нечеткие множества.
  13. Символьные вычисления: Symbolic Math Toolbox, взаимодействуют с символьным процессором программы Maple.

Недостатки работы с программой

Главная трудность, с которой сталкиваются пользователи программного обеспечения Матлаб, заключается в сложности освоения возможностей и интерфейса. С повышением масштаба и при наличии определенной специфики решаемых задач требуется разбираться с множеством опций и функций. Другие недостатки продукта:

  • неоптимальные настройки среды выполнения и программы являются причинами проблем для пользователей с нарушениями зрения;
  • некорректные параметры экранного доступа при работе с программой, включая клавиатурные сочетания.

Возможности программы Матлаб практически безграничны. Данный продукт демонстрирует высокую эффективность, оперативность и точность при решении задач любой сложности и масштаба. С помощью полезных опций можно адаптировать программное обеспечение для конкретных условий работы. Это отличный помощник для ученых, инженеров, программистов, финансистов, экономистов, а также студентов, которые стремятся освоить такие профессии на достаточно высоком уровне.

А если в процессе образовательного процесса появляются сложности, то всегда можно обратиться к сервису Феникс.Хелп.

Читайте также: