Приложение
Поддержка средств Java в MATLAB 6
Язык программирования Java обычно непосредственно не используется для поддержки математических вычислений в системе MATLAB. Однако этот перспективный язык высокого уровня входит в состав ядра системы и широко применяется для создания средств интерфейса и средств Интернета. Поэтому в новых версиях MATLAB 6.0/6.1 существенно расширена поддержка средств языка Java, который приобрел важное значение для решения задач в области создания электронных и Интернет-документов.
Фактически Java интегрирован в MATLAB и используется для построения его графического интерфейса и справочной системы (наряду с HTML). Кроме того, предусмотрены работа с рядом типов данных, классов и объектов, связанных с Java, и поддержка построенной на Java виртуальной машины. Основной материал по использованию средств языка Java имеется в дополнительном руководстве "MATLAB. External Interfaces. Version 6". Для знакомства с тонкостями программирования на Java рекомендуется обращаться в Интернет-сайт www.javasoft.com, посвященный этому языку. Уточнить версию Java, установленную в системе MATLAB, на вашей компьютерной платформе можно, исполнив команду:
>> version - Java ans Java 1.1.8 from Sun Microsystems Inc.Вы можете создавать объекты Java в MATLAB с использованием имени класса Java:
>> f = java.awt.Frame('My Title') f =Java .awt. Frame[f rameO. 0.0, 0x0 .i nval i d .hi dden .layout=java .awt. Border-Layout. resizable.title=my title]Методы объектов Java могут быть вызваны как с использованием синтаксиса Java, так и с использованием синтаксиса MATLAB:
>> setTitle (f. 'new title') >> t = getTitle(f) t =new titleТот же пример с использованием синтаксиса Java:
>> f.setTitle ('modify title') >> t = f.getTitle t =modify title >> whos f Name Size Bytes Class f1x1 Java.awt.Frame Grand total is 1 elements using 0 bytesКак видно из этого сообщения, в MATLAB поддерживаются Java-классы и Java-объекты.
Для более полного знакомства с возможностями Java в MATLAB можно воспользоваться справочной системой. Правда, в индексном каталоге поиск разделов по имени "Java" к успеху не приводит, но в окне расширенного поиска Search можно найти ряд статей по применению Java.
В окне справки в разделе Calling Java from MATLAB можно найти целый ряд разделов справки, посвященных применению этого языка в системе MATLAB (естественно, на английском языке).
Для получения информации об объектах и методах Java, с которыми может работать MATLAB, нужно исполнить команду:
>> methodsview Java.awt.MenultemДанные окна рис. П2 показывают, что поддержка Java реализована в большом числе объектов и методов системы MATLAB.
При использовании объектов Java пользователь должен учитывать многочисленные отличия в свойствах объектов Java и объектов MATLAB, что ведет к различиям в результатах исполнения многих функций. Например, вот как работает функция определения длины строки в MATLAB:
>> s= 'Hello my friend!'s =Hello my friend! >> size(s) ans =1 16Результат означает, что строка s задана как одномерный массив с числом элементов 16. А вот как та же функция работает со строковым массивом Java:
>> string=java.lang.Sthng('Hello my friend!') string=Hello my friend! >> size(string) ans =1 1Нетрудно заметить, что отдельные символы в этом случае не рассматриваются как элементы массива, и строка представлена одномерным массивом единичной длины.
>> C=char(string) C=Hello my friend! >> [m,n]=size(C) m =1n =16>> whos C Name Size Bytes Class C 1x16 32 char array Grand total is 16 elements using 32 bytes