Перезвоните в MATLAB из Java

Можно записать Java® приложения, что MATLAB® пользователи путем соединения с MATLAB с getCurrentMatlab методом в com.mathworks.engine.MatlabEngine API. Для получения информации об использовании этого API смотрите API MATLAB Engine для Java.

Например, код в этом классе Java ExampleClass создает метод fevalExample вызывать MATLAB sqrt функция. Этот метод является частью объемного приложения, которое может считать данные из устройства и затем применить функцию MATLAB на данные. В fevalExample метод, подключение к MATLAB с помощью getCurrentMatlab. Приложение управляет данными между устройством и вычислением MATLAB. Пользователи MATLAB вызывают fevalExample функция, чтобы принести данные в MATLAB для дальнейших действий.

import  com.mathworks.engine.*;

public class ExampleClass {
    private MatlabEngine engine;

    public double fevalExample() throws Exception {
        engine = MatlabEngine.getCurrentMatlab();
        double sqrtOut = engine.feval("sqrt", 4.0);
        engine.close();
        return sqrtOut;
    }
}

Вызывать fevalExample из MATLAB добавьте ExampleClass к пути к классу Java. Этот пример принимает, что файл находится в вашей текущей папке. Создайте объект MATLAB javaTest и вызовите его fevalExample функция. result значение, возвращенное sqrt.

javaaddpath(pwd)
javaTest = ExampleClass;
result = javaTest.fevalExample()
result = 2.0

Примечание

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

Смотрите также

|

Похожие темы