Приложение
Поддержка средств 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
=
1
n
=
16
>
>
whos C
Name Size Bytes Class
C
1x16
32
char array Grand total is
16
elements using
32
bytes