Отображение графика MATLAB в приложении Java

Цель

Цель примера состоит в том, чтобы показать, как сделать следующее:

  • Используйте MATLAB® Compiler SDK™ продукт для преобразования функции MATLAB (drawplot.m) к методу Java® класс (plotter) и перенести класс в пакет Java (plotdemo).

  • Доступ к функции MATLAB в приложении Java (createplot.java) путем создания экземпляров plotter Класс и использование MWArray библиотека классов для обработки преобразования данных.

    Примечание

    Полная справочная информация о MWArray иерархия классов, см. com.mathworks.toolbox.javabuilder пакет.

  • Создайте и запустите createplot.java применение.

The drawplot.m функция отображает график параметров входа x и y.

Процедура

  1. Если вы еще не сделали этого, скопируйте файлы для этого примера следующим образом:

    1. Скопируйте следующую папку, которая поставляется с MATLAB, в вашу рабочую папку:

      matlabroot\toolbox\javabuilder\Examples\PlotExample
      
    2. В командной строке MATLAB, cd на новый PlotExample подпапка в рабочей папке.

  2. Если вы еще не сделали этого, задайте переменные окружения, которые требуются на машине разработки. См. «Настройка Java Окружения».

  3. Напишите drawplot.m функция, как и любая функция MATLAB.

    Следующий код определяет drawplot.m функция:

    function drawplot(x,y)
    plot(x,y);
    

    Этот код уже находится в вашей рабочей папке в PlotExample\PlotDemoComp\drawplot.m.

  4. Находясь в MATLAB, выполните следующую команду, чтобы открыть приложение Library Compiler:

    libraryCompiler
  5. Вы создаете пакет Java с помощью приложения Library Compiler, чтобы создать класс Java, который оборачивается вокруг вашего кода MATLAB. Для получения примера смотрите Сгенерировать пакет Java и Создать приложение Java.

    Используйте следующую информацию для своего проекта:

    Имя проектаplotdemo
    Имя классаplotter
    Файл для компиляцииdrawplot.m

  6. Напишите исходный код для приложения, которое обращается к функции MATLAB.

    Пример применения для этого примера приведен в matlabroot\ toolbox\javabuilder\Примеры\PlotExample\PlotDemoJavaApp\createplot.java.

    Программа графизирует простую параболу из уравнения y = x2 .

    Список программ показан здесь.

     createplot.java

    Программа делает следующее:

    • Создает два массива двойных значений, используя MWNumericArray для представления данных, необходимых для построения графика уравнения.

    • Создание экземпляров plotter класс как thePlot объект, как показано:

      thePlot = new plotter();
    • Вызывает drawplot метод для построения графика уравнения с помощью MATLAB plot функция, как показано:

      thePlot.drawplot(x,y);
      
    • Использует try-catch блок для поимки и обработки любых исключений.

  7. Скомпилируйте createplot использование приложения javac. При вводе этой команды убедитесь, что между именами путей в matlabroot нет пространств аргумент. Для примера не должно быть пространства между javabuilder.jar; и .\distrib\plotdemo.jar в следующем примере. cd в рабочую папку. Убедитесь, что createplot.java находится в вашей рабочей папке

    • В Windows®, выполните эту команду:

      javac -classpath
        .;matlabroot\toolbox\javabuilder\jar\javabuilder.jar;
        .\distrib\plotdemo.jar createplot.java
      
    • В UNIX®, выполните эту команду:

      javac -classpath
        .:matlabroot/toolbox/javabuilder/jar/javabuilder.jar:
        ./distrib/plotdemo.jar createplot.java
      
  8. Запустите приложение.

    Чтобы запустить createplot.class выполните одно из следующих действий:

    • В Windows введите:

      java -classpath
        .;matlabroot\toolbox\javabuilder\jar\javabuilder.jar;
        .\distrib\plotdemo.jar 
        createplot
      
    • В UNIX введите:

      java -classpath
        .:matlabroot/toolbox/javabuilder/jar/javabuilder.jar:
        ./distrib/plotdemo.jar 
         createplot
      

    Примечание

    Вы должны использовать ту же основную версию Java, которая поставляется с MATLAB. Чтобы узнать, какая версия Java MATLAB работает, введите следующую команду MATLAB:

    version -java

    Примечание

    Если вы работаете на 64-битной платформе Mac, необходимо добавить -d64 флаг в команде Java. Дополнительные сведения см. в разделе Ограничения MATLAB Compiler SDK Java Target.

    The createplot программа должна отобразить выход.