Реклама:

Эту команду удобно записать в файле Class.bat и исполнить его. При вводе команды имейте ввиду, что не должно быть пробелов между javabuilder.jar; и .\factormatrix\distrib\factormatrix.jar.

Компиляция производит файл getfactor.class и помещает его в подкаталог MatrixMathDemoJavaApp. Напомним, что если компонент создан с использованием mcc, то Java Builder не создает каталог distrib, поэтому пути должны быть скорректированы.

При использовании компонента на другой машине (без MATLAB) вместо подкаталога rnatiabroot/toolbox/javabuilder/jar нужно указывать подкаталог MCR: MCRroot/toolbox/javabuilder/jar. Также должен быть путь <mcr_root>\<ver> \runtime\win32 к библиотекам MCR.

3. Запуск приложения. Для запуска приложения getfactor нужно выполнить следующее:

• поместить файл getfactor.class в каталог запуска приложения D:\javabuilder_examples\ MatrixMathExample;

• определить пути для библиотек MATLAB (или для MCR) PATH <matlabroot>\bin\win32;

или

PATH <mcr_root>\v7 6\runtime\win32;

• выполнить следующую команду в строке DOS (нужно указывать полный путь в командной строке к команде java):

matlabroot\sys\java\jre\win32\jre1.5.0 07\bin\java -classpath .;matlabroot\toolbox\javabuilder\jar\javabuilder.jar.\factormatrix\ distrib\factormatrix.jar getfactor 4

Эту команду удобно записать в bat-файле и исполнить его (см. файл Run_M.bat на прилагаемом компакт-диске). Программа getfactor должна отобразить следующий вывод (рис. 3.4.4):

Смоленцев H. К. Создание Windows-приложений с использованием математических процедур MATLAB.

Рис. 3.4.4. Результаты работы программы getfactor

Чтобы выполнить программу для разреженной матрицы, используется та же самая команда с добавлением строки «sparse» вторым аргументом в командной строке: java (... те же аргументы) getfactor 4 sparse

3.5. Некоторые вопросы программирования

Дополнительно к приведенным образцам кодов в предыдущих параграфах, рассмотрим в этом разделе некоторые дополнительные вопросы программирования: импорт классов, создание экземпляра класса, который инкапсулирует код MATLAB, интерфейсы методов, создаваемых Java Builder, согласование типов данных между MATLAB и Java, обработку ошибок, освобождение памяти, используемой классами MWArray и вызов сигнатуры для передачи параметров и возвращения вывода.

3.5.1. Импорт классов и создание экземпляра класса

Для использования компонента, созданного MATLAB Builder для Java, нужно импортировать библиотеки MATLAB и классы компонента, созданные Java Builder функцией import Java, например:

import com.mathworks.toolbox.javabuilder.*; import com.mathworks.componentname.classname;

Строка импорта должна включать полное имя пакета. Можно импортировать все классы компонента, обозначив их звездочкой (.*).

Замечание. Компоненты Java Builder нужно создавать на той же самой операционной системе, на которой их предполагается установить (машина пользователя). Причины для этого ограничения в том, что ctf-файл зависит от платформы.

Как и для любого класса Java, перед использованием класса нужно создать экземпляр класса, образованного при помощи MATLAB Builder для Java. Предположим, что создан компонент с именем MyComponent с классом названным MyClass. Тогда создание экземпляра Classlnstance класса MyClass выглядит так: MyClass ClassInstance = new MyClass();


⇐ Предыдущая страница| |Следующая страница ⇒