Вызов MATLAB из Java

Запись Java® программы, которые работают с MATLAB®

Вызовите функции MATLAB и оцените выражения MATLAB из Java программ синхронно или асинхронно. Программы Java могут передавать данные и получать данные из базового рабочего пространства MATLAB. Движок поддерживает приложения Java, созданные с JDK™ 7 или 8.

Чтобы вызвать функции Java из MATLAB, смотрите Java Libraries в MATLAB.

Функции

расширить все

matlab.engine.shareEngineПреобразуйте выполняемые Сеансы работы с MATLAB в сеанс совместной работы
matlab.engine.engineNameВозвращает имя общего сеанса работы с MATLAB
matlab.engine.isEngineSharedОпределите, является ли сеанс работы с MATLAB общим

Классы

расширить все

com.mathworks.engine.MatlabEngineКласс Java, использующий MATLAB как вычислительный движок
com.mathworks.matlab.types.ComplexКласс Java, для передачи комплексных данных в MATLAB и из него
com.mathworks.matlab.types.StructКласс Java, для прохождения struct MATLAB от и до MATLAB
com.mathworks.matlab.types.CellStrКласс Java, представляющий массив ячеек MATLAB из char векторы
com.mathworks.matlab.types.HandleObjectАбстрактный класс Java, для представления MATLAB указателя объектов
com.mathworks.matlab.types.ValueObjectАбстрактный класс Java, для представления объектов значений MATLAB

Темы

Начало

MATLAB Engine API для Java

Этот API позволяет Java программам использовать MATLAB в качестве вычислительного двигателя.

Создание программ Java Engine

Установите переменные окружения, Java classpath, и скомпилируйте и запустите свой код Java.

Пример исходного кода Java

В этих примерах показано, как использовать MATLAB Engine API для Java.

Обзор Engine API

Сводные данные Engine API

Вот сводные данные классов и методов, доступных для использования MATLAB Engine API для Java.

Преобразования типов данных Java

API движка MATLAB предоставляет отображения для передачи типов данных Java в MATLAB и передачи типов данных MATLAB в Java, включая классы Java для размещения MATLAB указателя объектов, cellstrs, структур и комплексных массивов.

Использование MATLAB Engine API для Java

Запуск и закрытие сеанса работы с MATLAB из Java

Запустите сессию Engine синхронно или асинхронно, и вы можете передать опции запуска в MATLAB.

Подключите Java к текущему сеансу работы с MATLAB

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

Выполнение функций MATLAB с Java

Передайте переменные Java в вызовы функции MATLAB и верните значения на Java.

Оценка выражений MATLAB из Java

Вычислите выражения MATLAB из Java и запишите переменные в базовое рабочее пространство MATLAB.

Передайте переменные из Java в MATLAB

Передайте переменные из Java в MATLAB в качестве аргументов функции или путем размещения этих переменных в базовом рабочем пространстве MATLAB.

Передайте переменные из MATLAB в Java

Получите переменные из рабочего пространства MATLAB и сопоставьте их с соответствующим типом Java.

Перенаправление выхода Командного окна MATLAB на Java

Перенаправьте стандартный выход из командного окна MATLAB на Java.

Специализированные типы MATLAB для Java

Использование сложных переменных в Java

Задайте комплексные числа в Java используя Complex класс.

Использование структур MATLAB в Java

Определите типы данных структуры MATLAB в Java с помощью Struct класс.

Передайте Java CellStr в MATLAB

Задайте массив ячеек MATLAB из векторов символов с помощью CellStr Java класс.

Использование MATLAB Указателя Объектов в Java

Возврат объектов указателя MATLAB на Java с помощью HandleObject Java класс.

Использование функций MATLAB из Java

Запустите симуляцию Simulink из Java

Можно запустить Simulink® симуляции и возврат результатов на Java.

Поиск и устранение проблем

Исключения MATLAB Engine API

MATLAB Engine API для Java задает конкретные классы исключений для MATLAB.

Передайте аргументы массива Java в MATLAB

MATLAB и Java отображают многомерные массивы по-разному, но индексированные ссылки на элементы массива дают одинаковые результаты.

Неправильное количество выходных аргументов

Если вы вызываете функцию MATLAB без одного выходного аргумента или более, необходимо указать этот номер в вызовах двигателя feval способ.

Неправильные типы данных Java

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

Связанная информация