русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Что нового мы узнали?


Дата добавления: 2015-07-23; просмотров: 554; Нарушение авторских прав


В этом уроке мы научились:

· Выводить список пакетов расширения системы MATLAB.

· Вызывать демонстрационные примеры пакетов расширения.

 

Приложение

Поддержка средств 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= ' Hellо 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)

С=

Hello my friend!

» [m,n]=size(C)

m =

n =

» whos С

Name Size Bytes Class

С 1x16 32 char array Grand total is 16 elements using 32 bytes

Использовав преобразование объекта класса java.lang.string в массив символов MATLAB, мы все-таки подсчитали число символов обычными средствами MATLAB. Но в среде MATLAB мы можем сделать это и средствами Java.

» string.length

ans =

Или

» e=java.lang.StringBuffer(string)

e =

Hello my friend!

» e.length

ans =

Следующий пример показывает создание Java-структуры многоугольника:

» polygon=java.awt.Polygon([14 42 98 124],[55 12 -2 62].4)

polygon =

java.awt.Pol ygon@94067b

Для выявления структуры Java объекта может использоваться функция struct (object), которая преобразует объект в структуру (массив структур) MATLAB с потерей информации о классе.

Пример: .

» struct(string)

ans =

0x0 struct array with fields:» struct(polygon)

ans =

npoints: 4

xpoints: [4x1 int32]

ypoints: [4x1 int32]

Следует отметить, что указание имени объекта с большой буквы (кстати, как это задано в определении класса) ведет к ошибке, поскольку сам объект, преобразуемый в структуру, по правилам MATLAB, где регистр имеет значение, называется

polygon:

» struct(Polygon)

??? Undefined function or variable 'Polygon'.

Эти примеры, и их можно привести множество, свидетельствуют о том, что пользователь, рискнувший применить средства Java в MATLAB на практике, должен хорошо знать как возможности языка Java, так и особенности среды и языка программирования MATLAB. И быть готовым к различным сюрпризам.

Для обычных пользователей системой MATLAB по ее прямому назначению — математические вычисления — большинство возможностей Java представляет ограниченный интерес. Исключением, пожалуй, является работа с такими важными объектами Java, как массивы и классы url. Напомним, что Java-массивы входят в иерархию объектов языка программирования системы MATLAB.

Массивы в Java считаются одномерными (подобными векторам-столбцам MAT-LAB). Однако возможно построение массивов в массивах без ограничения числа уровней вложения. Тем не менее функция ndims MATLAB, если ее входным аргументом является такой «многомерный» массив Java, всегда возвращает 2. Форма таких массивов в общем случае не прямоугольная, т. е. число элементов по рядам и столбцам может различаться. В MATLAB все массивы, кроме массивов Java, могут быть одномерными, двумерными и многомерными. Нумерация элементов Java-массивов в обычных системах программирования на Java идет с нуля. В MATLAB нумерация всех элементов массивов, в том числе и Java-массива (Java-array), начинается с единицы. (База массива равна единице.) Ниже приведен пример задания прямоугольного Java-массива в массиве с числами двойной точности с именем dblArray: dblArray = javaArrayC Java.lang.Double'.3.4);

В следующем фрагменте программы на языке MATLAB с помощью циклов элементам массива присваиваются конкретные значения:

for 1=1:3

for j-l:4 dblArray(i.j) = Java.lang.Double((i*5)+j);

end end

Теперь несложно проверить созданный массив:

dblArray

dblArray =

Java.lang.Double[][]:

         
  [6] [7] [11] [12] [16] [17] » dblArray(2.3) ans = 13.0 [ 8] [13] [18] [9] [14] [19]  
         

Из этого примера в целом ясно, что, несмотря на отдельные нюансы, работа с Java-массивами в основном подобна таковой для MATLAB массивов. При этом система MATLAB поддерживает ряд типов преобразований массивов и иных данных из форматов, принятых на языке программирования Java, в форматы MATLAB и наоборот.

2.2. MATLAB 6.5: новые возможности

Одной из наиболее примечательных особенностей новой версии является повышение производительности m-файлов. Изменения в алгоритме обработки m-функций и сценариев позволили добиться существенного повышения производительности по сравнению с предыдущими версиями MATLAB.

Основные особенности новой версии MATLAB:

Значительное увеличение скорости работы m-файлов.
Поддержка для регулярных выражений (regular expressions).
Поддержка форматирования сообщений об ошибках и предупреждений.
Поддержка фильтрации предупреджений.
Динамические имена полей структур.
Новые логические операторы AND (&&) и OR (||) и поддержка неполного вычисления логических выражений.
Расширенная поддержка работы с NaN в массивах и структурах
Поддержка 64-битных целых чисел.
Улучшенная работа с большими объёмами данных
Поддержка больших файлов (64-битные механизмы работы с файлами)
Уменьшен объём памяти, занимаемый булевыми переменными.
Новый объект MATLAB Timer для планирования выполнения команд
Основные изменения MATLAB Audio
Новая функция для получения информации об audio-устройствах.
Улучшения в системах звуко- записи и воспроизведения.
Поддержка 24 битной записи и воспроизведения.
Поддержка 24- и 32-битных wav-файлов.
Поддержка браузера Workspace.

2.3. Основы MatLab



<== предыдущая лекция | следующая лекция ==>
Прочие пакеты прикладных программ | Введение.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.08 сек.