17588

Интегратор приложений MathConnex

Лабораторная работа

Информатика, кибернетика и программирование

ЛЕКЦИЯ 6. 5. Интегратор приложений MathConnex 5.1 Назначение MathConnex MathConnex новое средство примененное в системе MathCAD 7. 0 PRO. Оно выполняет две важнейшие и чрезвычайно мощные функции: служит для интеграции различных приложений с системой MathCAD и обеспечения их совместной ...

Русский

2013-07-04

397 KB

3 чел.

ЛЕКЦИЯ 6.

5. Интегратор приложений MathConnex 

5.1 Назначение MathConnex? 

MathConnex — новое средство, примененное в системе MathCAD 7. 0 PRO. Оно выполняет две важнейшие и чрезвычайно мощные функции:

• служит для интеграции различных приложений с системой MathCAD и обеспечения их совместной работы с использованием объектных связей OLE2;

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

В сущности MathConnex является вполне самостоятельным приложением, включенным в систему MathCAD и выполняющим функции системного интегратора. Благодаря ему возможно простое и наглядное установление сложных взаимосвязей между различными приложениями: математической системой MathCAD, матричной системой MatLAB, графической системой Axum, электронными таблицами Excel из пакета Microsoft Office и др. Мощь такой объединенной системы возрастает многократно, позволяет использовать для решения задач пользователя целый арсенал различных программных систем, включая встроенные в них специфические и подчас уникальные функции.

В то же время применение системы MathConnex имеет и недостатки:

• эффективное использование этой системы требует знакомства с целым рядом новых программных средств, что порой не под силу начинающим пользователям и даже пользователям средней квалификации;

• медлительность работы системы ощущается даже на ПК класса Pentium 166/200 ММХ;

• MathConnex имеет свой собственный язык программирования, требующий усилий по его освоению;

• имеются трудности при задании текстовых комментариев на русском языке;

• подготовка проектов (документов) для MathConnex требует больших затрат времени.

Все это свидетельствует о том, что MathConnex представляет интерес для опытного пользователя, способного по достоинству оценить уникальные возможности этой системы и уверенно их применять. Это средство особенно полезно, если необходимо блочное представление и описание сложной системы, работу которой необходимо имитировать. Можно считать, что в системе MathConnex на новом (цифровом) уровне реализована идея аналоговых: подготовка блок-схем моделируемых устройств и имитация (или симуляция) их работы.

5. 2. Описание пользовательского интерфейса системы MathConnex

Общий обзор окна 

Для запуска системы MathConnex используется кнопка в инструментальной панели MathCAD с пиктограммой в виде красного шарика и трех разноцветных прямоугольников (блоков). После запуска появляется главное окно MathConnex, показанное на рис. 5. 1.

Окно имеет строку главного меню и расположенную под ним панель инструментов (Toolbar). В правой части главного окна (экрана) системы находится большое окно для рабочего документа (Worksheet). Первоначально оно пустое. В левой части расположена палитра компонентов (Component Pallete) в виде 12 кнопок и так называемый Исследователь (Explorer).

Главное меню MathConnex 

Главное меню системы имеет типичный для Windows-приложений набор позиций и относящихся к ним подменю. Поскольку главное меню MathCAD было описано, то можно опустить описание главного меню MathConnex. Укажем лишь, что все его операции относятся к деталям интерфейса MathConnex и к документам этой системы. Документы имеют расширение. .mxp.

Кроме того, надо отметить специфическую для MathConnex позицию Run главного меню. Она выводит подменю со следующими операциями:

Run (Пуск)

— пуск имитации работы документа;

Pause (Пауза)

— пауза в имитации;

Step (Шаг)

— имитация для следующего блока в режиме пошаговой работы;

Stop (Стоп)

— остановка имитации;

Single Step Mode

— переход к пошаговой имитации;

(Пошаговый режим)

Highlight Components

— установка подсветки исполняемого компонента. (Подсветка компонентов)

 

Панель инструментов MathConnex 

Панель инструментов MathConnex содержит ряд кнопок, аналогичных по своему виду и назначению тем, что используются в системе MathCAD. Однако есть две новые группы кнопок, отмеченные ниже. Кнопки управления имитацией.

Кнопки управления уровнем исполнения и размерами документа:

Run

— пуск имитации;

Pause

— пауза в имитации;

Step

— пошаговое выполнение имитации;

Stop

— остановка имитации;

Back

переход к предыдущему по уровню блоку;

Zoom in

увеличение размеров документа;

Zoom out

— уменьшение размеров документа.

Палитра компонентов 

Палитра компонентов содержит кнопки с приведенными ниже обозначениями. Они разбиты на пять групп. Компоненты ввода и вывода данных:

Компоненты контроля потоков данных:  

Input

— блок ввода;

File Read or Write

— считывание или запись файла;

Ramp

— блок генерации последовательностей;

Global Variable

— блок задания глобальной переменной. Компоненты просмотра (инспекции) результатов:

Inspector

— блок Инспектора — просмотра вычислений;

Graph

— блок вывода графики;

Axum

— блок графической системы Axum. Подключаемые компоненты:

MathCAD

— блок математической системы MathCAD;

Excell

— блок системы Excel (электронные таблицы);

MatLAB

— блок математической системы MatLAB;

Connex Script

— блок с описанием на языке Connex Script.

Conditional

— блок ввода условий;

Initialize

— блок инициализации;

Wire Breaker

— блок выключателя;

Stop or Pause

— блок остановки и паузы.

Компонента вставки текстового комментария:

Text

— блок вставки текстового комментария.


Рис. 5. 1 Главное окно системы MathConnex

5. 3. Подготовка документов в MathConnex 

Подготовка документов в системе MathConnex сводится к созданию блок-схемы решаемой задачи. Блок-схема может содержать указанные выше компоненты, связи между ними и текстовые комментарии. Все это размещается в окне документов.

Для ввода блоков в документы достаточно указать курсором мыши на кнопку нужного блока и, нажав и удерживая левую клавишу мыши, начать перетаскивать блок в нужное место окна редактирования документа. Отпустив левую клавишу мыши, можно зафиксировать блок в нужном месте. Таким образом реализуется известный метод перетаскивания объектов drag and drop ("перетащи и брось"). В ряде случаев система выводит диалоговые установочные окна для задания числа вводов и выводов (обозначаемых треугольниками) и некоторых других параметров.

На рис. 5. 2 показан простейший пример работы с системой MathConnex. В окно документов перенесен блок системы MathCAD, и в нем построен график двух функций. Обратите внимание, что при установке блока системы MathCAD появляется панель палитр математических символов.


Рис. 5. 2 Пример вывода и применения блока MathCAD

Входы и выходы блоков в общем случае соединяются соответствующим образом с помощью активизации их курсором мыши, превращающимся в кисть руки, держащей карандаш.

На рис. 5.3 показан более сложный случай подготовки документа из четырех блоков со связями между ними. Блок Input0 вводит число 123. Функция in0 возвращает значение числа, которое задает блок Input0. Это обеспечивает интерфейс связи между блоком ввода и блоком вычислений системы MathCAD. В математическом блоке задано суммирование числа из блока ввода с числом 57. Результат передается на выход блока с помощью интерфейсной функции out0. С помощью блока Инспектора можно наблюдать результат вычислений, а блок останова останавливает их .

Для пуска имитации достаточно активизировать кнопку пуска (ее пиктограмма имеет вид зеленого треугольника)

В функциональную схему имитируемых устройств могут входить блоки с описанием их довольно сложных функций на языке системы MathConnex — Connex Script. Ее описание дано в конце этой лекции.


Рис. 5. 3 Пример построения блок-схемы из четырех блоков 

5. 4. Редактирование блоков и документов системы MathConnex. 

В панели Project (Проект) Исследователя в левой части экрана виден полный перечень блоков, вставленных в окно документов. Установив курсор мыши на любую позицию из этого перечня и нажав быстро на левую клавишу мыши, можно выделить заштрихованной рамкой соответствующий блок в окне документа. Уцепившись курсором мыши за эту рамку, легко переместить его в любое место окна документа Это же можно сделать, указав блок курсором мыши и прямо в окне документов. Кроме того, используя шаблоны в виде маленьких темных прямоугольников по сторонам рамки, блок растягивается по вертикали, по горизонтали и по диагонали.

Двойной щелчок левой клавишей мыши позволяет ввести режим редактирования блока. При этом автоматически запускается создавшее блок приложение. На рис. 5.4 показан пример редактирования в блоке MathCAD, в котором число 57 изменено на число 456. Изменение результата в Инспекторе произойдет только после запуска имитации. Окно документа при редактировании приобретает элементы интерфейса, присущие приложению, в котором создается редактируемый блок (см. рис. 5. 4).

После редактирования нужно установить курсор мыши на свободное поле окна редактирования и щелкнуть ее левой клавишей. При этом выделение блока исчезнет и документ предстанет в виде, готовом для пуска его имитации.

Для редактирования блоков полезно также контекстно-зависимое меню, появляющееся при нажатии правой клавиши мыши. Оно содержит различные операции, которые относятся к выделенному блоку. Это могут быть операции стирания блока, редактирования его свойств и т. д.


Рис. 5. 4 Пример редактирования в блоке MathCAD.

Одной из важных является операция редактирования свойств Properties. Она выводит диалоговое окно, показанное на рис. 5.5 для блока Input0. Такое окно позволяет (с помощью панели General) установить номер блока и задать к нему текстовый комментарий. Заметим, что MathConnex автоматически проставляет номера блоков по мере их задания, что не всегда удобно. В панели Display можно задать параметры отображения чисел в блоке.

Рис. 5. 5 Окно MathConnex с окном установки свойств блока Input0

При отладке документов полезен режим пошаговой работы. При этом на каждом шаге исполняется один блок документа. Обычно исполнение блока заметно лишь по изменению входящих в него данных, результатов вычислений и графических построений. Однако включив режим подсветки Highlight Components, можно наблюдать выделение исполняемого блока (компонента) двойной рамкой с ярко-зеленой окраской (см. рис. 5. 6).


Рис. 5. 6 Иллюстрация пошагового исполнения документа с выделением исполняемого блока.

5. 5. Использование внешних систем 

Главным достоинством системы MathConnex является ее интеграция с другими математическими и графическими системами. Отметим особенности и возможности последних.

Графическая система Axum. 

Прежде всего эта система ориентирована на построение 2D- и ЗD-графиков, способных удовлетворить самые изысканные требования в области графической визуализации. К примеру, Axum позволяет строить сложные трехмерные поверхности с функциональной окраской и с одновременным построением их проекции в виде линий равного уровня на плоскости, расположенной под этой поверхностью. Это заметно повышает степень визуализации построений.

Axum ориентирована также на быструю и наглядную обработку данных. Она содержит множество математических и статистических функций и удобный редактор математических формул, обладает большими возможностями импорта и экспорта данных.

Демонстрационная версия системы Axum поставляется на CD-ROM в комплекте поставки системы MathCAD. Ее можно найти в Internet на сервере фирмы MathSoft.

Электронные таблицы Excel.

Табличный процессор Excel входит в самый популярный пакет автоматизации офисной деятельности — Microsoft Office, но возможность его стыковки с MathConnex пока не ясна). Excel — одна из самых мощных и гибких электронных таблиц. Эта система может работать не только с двумерными, но и с трехмерными таблицами, представленными листами с двумерными таблицами. Excel широко используется для подготовки прекрасно иллюстрированных финансово-экономических и иных документов. Она содержит сотни математических и экономических функций. Применение системы для математических расчетов всегда вызывало определенные сомнения (хотя бы в силу весьма специфических названий функций), но будучи интегрированной с системой MathCAD, табличная система Excel открывает дополнительные возможности по обработке объемных и сложных данных.

Матричная математическая система MatLAB.

MatLAB одна из аппробированных специалистами математических систем, ориентированных на численные расчеты.

MatLAB, будучи изначально матричной системой, позволяет быстро и эффективно решать сложные задачи, базирующиеся на матричных методах.

Профессионалы особенно почитают MatLAB (несмотря на некоторую архаичность пользовательского интерфейса) за огромный набор ее подчас уникальных функций и возможность поистине неограниченного и весьма простого расширения. Вам достаточно в редакторе системы задать свою новую функцию, и она становится столь же доступной, как любая элементарная функция. Благодаря этому свойству на основе системы MatLAB были созданы десятки новых математических систем.

Специалистов привлекает также высокая скорость выполнения вычислений, она намного выше, чем при решении подобных задач только средствами MathCAD. Поэтому объединение функций систем MathCAD и MatLAB открывает перед серьезными пользователями систем компьютерной математики новые и почти неограниченные возможности эффективного решения сложных математических задач.

Система символьной математики Maple V

Установка связей с системой Maple V символьной математики  с помощью MathConnex не предусмотрена. Фирма MathSoft посчитала вполне достаточным включение в MathCAD несколько сокращенного ядра символьной математики системы Maple V.

5. 6. Пример применения системы MathConnex

Система MathConnex поставляется с рядом примеров ее применения, соответствующие файлы которых расположены в папке Sample. На рис. 5. 7 дан один из примеров: беря данные из таблицы (координаты х и у точек), документ выполняет полиномиальную регрессию, вычисляет коэффициент полинома и коэффициент корреляции.


Рис. 5. 7 Пример проведения полиномиальной регрессии 

Активизировав блок системы MathCAD, можно просмотреть документ, выполняющий регрессию, и входящий в него график функции регрессии и узловых точек.

5. 7. Интеграция MathCAD с текстовым процессором Word.

Когда пользователь работает над курсовой работой, дипломным проектом, диссертацией или даже книгой, то наверняка большую часть времени он тратит все же на подготовку текста, а не на математическое решение задач. Такой пользователь, возможно, еще не владеет математической системой, но, несомненно, пользуется текстовым процессором Word.

MathConnex напрямую позволяет вставлять документы Word в свои документы. Кроме того, существует ряд ограничений на подготовку русскоязычных текстов в системах MathCAD и MathConnex. К примеру, проверку орфографии в среде MathCAD можно использовать только для англоязычных текстов, поскольку русскоязычный словарь в эту систему на входит. Есть проблемы и с подготовкой русскоязычных комментариев в документах MathConnex.

В этих системах можно установить объектную связь с текстовым процессором Word через операцию Object в подменю позиции Insert главного меню. Однако мы поступим, как говорится, с точностью до наоборот учитывая более важную и первичную роль текстового процессора Word для большинства пользователей, рассмотрим его интеграцию с системой MathCAD через объектную связь.

Вставка в текстовый процессор объектов из математической системы MathCAD дает полноценный доступ ко всем возможностям и средствам последней. Как лучше поступать: работать в Word, вставляя объекты из MathCAD, или, работая в системе MathCAD, вставлять в нее объекты из Word, — каждый пользователь должен решать самостоятельно.

Таким же образом можно связать друг с другом MathCAD и другие, не упоминавшиеся выше системы. Необходимо лишь одно — возможность установления объектной связи. Большинство приложений, разработанных для работы в среде операционной системы Windows, такой особенностью обладают. Это открывает дополнительные возможности создания сложных программных систем, решающих самые разнообразные и сложные математические задачи

5. 8. Язык программирования системы MathConnex. 

Назначение языка программирования Connex Script 

Как было показано выше, система MathConnex может использовать свои собственные блоки с вычислительными операциями. В этих блоках могут использоваться и программные конструкции, составленные на основе специального языка программирования — Connex Script. Применение таких блоков заметно расширяет возможности подготовки сложных документов. Ниже дано описание этого языка.

Типы данных 

Connex Script имеет данные вещественного и комплексного типа. Вещественные числа задаются с двойной точностью в IEEE-формате. Числа задаются в виде:

314    3.14      5.78е14

и т. д. Для задания комплексных чисел используется знак мнимой единицы i или j, например:

5. 78i   0. 5e10i     4. 0+ 8.7j

Бесконечность задается словом "Inf". Слово "NaN" (Not-a-Number) означает нечисловое значение, например:

х = Inf            у = NaN

Операторы и функции 

Операторы Connex Script имеют следующий вид и назначение:

=+ -* / ^

арифметические операторы;

.*./.^

матричное умножение, деление и возведение в степень;

(NOT) ¦ xor ¦& (AND) ¦ (OR)

логические операторы;

= >= <= > <

операторы сравнения.

Операнды логических операторов располагаются по обе стороны от них (кроме операнда - для NOT, например А&В&С или 2! =3). Такие выражения возвращают логические значения.

Connex Script содержит следующие встроенные функции:

abs — абсолютное значение; ceil — ближайшее очередное целое; ехр — экспонента; floor — ближайшее предшествующее целое; log10 — логарифм по основанию 10; log2 — логарифм по основанию 2; In — натуральный логарифм; max — максимальное значение; min — минимальное значение; mod — остаток от деления; nelem — число элементов в переменной; round — округленное до ближайшего целого значение; sign — функция знака; sqrt — квадратный корень; time — время в секундах с начала 1980 г.; trunc — число десятичных позиций; gamma — гамма-функция.

Имеются встроенные функции комплексного переменного:

conj — комплексно-сопряженное число; im — мнимая часть аргумента; re — действительная часть аргумента.

Тригонометрические функции представлены следующим набором:

cos, sin, tan, sec, csc, cot, pi, acsc, acos, acot, asec, asin, atan. 

Гиперболические функции представлены набором:

cosh, coth, csch, sech, sinh, tanh, acsch, acosh, acoth, asech, asinh, atanh.

Матричные функции:

cols — число столбцов матрицы, rows — число строк матрицы и

det — детерминант матрицы.

Зарезервированные слова и идентификаторы 

Зарезервированные слова, которые нельзя использовать в качестве идентификаторов для задаваемых пользователем объектов:

break cols complex delete else elseif end error for function if in list load nelem new real repeat return rows static until while xor

Примеры задания имен (идентификаторов) переменных:

this_is_my_variable tl х_5 R2D2

Имена должны быть заданы одним словом (допускается соединение нескольких слов символов объединения — горизонтальная черта снизу) и начинаться с буквы. Имена переменных допускается задавать только латинскими буквами.

Интерфейсные переменные 

Интерфейсные переменные служат для организации обмена данными между блоками в документах MathConnex:

in0, inl,... — организуют ввод данных в блок с выходов других блоков; out0, out1,... — организуют вывод данных из блока.

Интерфейсные переменные могут использоваться и в блоках системы MathCAD.

Создание списков, векторов и матриц 

MathConnex может оперировать списками следующего вида:

{ехрr, ехрr; ехрr, ехрr}

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

Примеры задания списков:

Х = {1, 2, 3} — задан вектор Х из трех элементов;

М= {1, 2, 3; 4, 5, 6} — задана матрица М с размером 2х3.

Для задания векторов с элементами-числами можно использовать выражения вида:

start_expr: step_expr: end_expr, где start_expr — условие, задающее начальное значение списка чисел; step_ехрr — шаг изменения ряда чисел; end_expr — условие, задающее конечное значение чисел в списке.

Например, выражение

Х-1: 2: 100

создает вектор чисел с именем X, у которого первое число равно 1, а последующие (до значения 100) идут с шагом нарастания 2. Другие примеры:

Y = 1: 5 — вектор чисел Х от 1 до 5 с шагом по умолчанию 1;

Z = 10: 1 — вектор чисел Z от 10 до 1 с шагом по умолчанию -1;

Запись выражений 

Запись выражений выполняется в обычной алгебраической форме, например:

7  7+ 8* 19 / 3. 3  х    х+ 8х/у* 8     х = у [5]    А [3] = В [5, 3]* х

Вычисление функций также задается, как обычно, например:

у = sin (x)

При этом функция возвращает значение в ответ на обращение к ней с указанием параметра функции — переменной или выражения.

Неисполняемый однострочный комментарий задается после символа двойного слэша (//), например:

х = А [ 1, 2; 0] // take first element from 2nd and 3rd row 

Многострочный комментарий помещается между символами (/*) и (*/).

Выражения размещаются в строках. Для их разделения можно использовать символ (;), например:

х = у+ 5; z = х^ 

х = 0; for i in 0: 5; x = x+ i; end

Для переноса длинных выражений с одной строки на другую используется символ подчеркивания (_) в конце переносимой строки, например:

^-{i, 2, 3; _ 4, 5, 6; 

7, S, 9}//3-by-3matrix 

Условный оператор if 

Условный оператор if используется для создания типовой конструкции:

if boolean_expr statement 1 statement2

elseif boolean_expr statements

else statement4

end

Пример применения оператора if: 

if ( x > у & x! - 0)

z=y/x 

q = log (2-z)

elseif ( у >= x & у! = 0)

z-x/y 

q=2'\z

else

z-0 

q=l

end

Действие таких конструкций хорошо известно и не требуется их подробного описания.

Конструкция цикла типа for 

Для определения цикла с заданным числом повторений используется конструкция с оператором for: 

for identifier in expr

statement 1

statement2

end

Например, оператор с заголовком for i in 1: 10 выполняет 10 циклов, поскольку переменная цикла меняется от 1 до 10 с шагом +1. Оператор break, встречаясь в цикле, ведет к немедленному его прерыванию. Обычно этот оператор вводят в составе условного выражения с оператором if. 

Рис. 5. 8 Полет снаряда с учетом начальной скорости и угла.


 

А также другие работы, которые могут Вас заинтересовать

57637. Моє улюблене зимове свято 66.5 KB
  In Ukraine this tradition is celebrated on 19 December. Young children put their shoes or boots in front of the chimneys and sing songs. On the next morning they will find a small present in their shoe/boots, ranging from a bag of chocolate coins to a bag of marbles or some other small toy.
57638. INFINITIVE 91 KB
  Use the correct form of the Infinitive: Speak louder if you want... (to hear, to be heard) Don’t talk too much if you want people...(to listen, to be listened) to you. Ask yourself always: how can this... (do, be done). I am glad... (to take, to be taken) your advice.
57639. Travelling. The Visit to Kyiv 55.5 KB
  What is it? Railway station. Imagine that we will go to a trip to Kyiv. This is the map of the centre of Kyiv. So, the topic of our lesson is “The Visit to Kyiv”. Children, who helps us to know more about interesting places?
57640. Kyiv is the capital of Ukraine. Main cities 11.79 MB
  Good morning! I`m glad to see you Come here, make a circle and say a compliment. Choose a card and choose your team. They are: Tulips, Roses, Daffodils. We shall compete in some tasks and I will give you the scores. I wish you good luck.
57641. Languages of the world 128.5 KB
  You see that the first language in the list is Mandarin (Chinese) and the second is English. 6-й слайд Teacher: What do we know about languages? The oldest written language is Egyptian Mandarin Chinese is spoken by 700 million people. India has 845 languages.
57643. Health and Healthy Living 60 KB
  It’s great when we are well. But sometimes we have problems with our health. What do we feel? Call some symptoms: a headache, a backache, a toothache, a stomach ache, a burn, a bee sting, a cough, a running nose...
57644. Мистецтво робити покупки 35 KB
  Опрацювати лексику – назви магазинів та товарів, які там продаються; вчити переглядовому читанню тексту; вчити складати діалоги; повторити вживання структур у пасивному стані.
57645. Mass Media 79 KB
  Teacher’s objectives: to perfect students’ cognitive and creative skills; to define the problematic areas in students’ speaking, reading, listening of the giving topics; to develop students’ speaking and listening comprehension skills...