Вы здесь

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

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

13.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 на новом (цифровом) уровне реализована идея аналоговых ЭВМ (таких, как МН-7): подготовка блок-схем моделируемых устройств и имитация (или симуляция) их работы.

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

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

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

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

141.jpg

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

Окно имеет строку главного меню и расположенную под ним панель инструментов (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 — блок вставки текстового комментария.

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

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

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

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

142.jpg

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

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

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

143.jpg

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

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

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

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

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

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

144.jpg

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

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

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

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

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

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

145.jpg

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

146.jpg

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

общего характера, так что воздержимся от них и рассмотрим возможности системы MathConnex на примерах, включенных в комплект ее поставки.

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

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

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

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

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

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

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

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

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

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

MatLAB одна из самых древних и глубоко почитаемых специалистами математических систем, ориентированных на численные расчеты. MathConnex обеспечивает объединение MathCAD 7.0 PRO с одной из последних версий этой матричной системы — MatLAB 4.2 (последней является версия 5.0, но возможности ее работы под управлением MathConnex пока не вполне понятны).

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

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

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

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

Как ни странно, но установка связей с маститым патриархом символьной математики — системой Maple V — с помощью MathConnex не предусмотрена. Возможно, фирма MathSoft посчитала для себя вполне достаточным альянс с фирмой Maple Software, который привел к включению в MathCAD несколько сокращенного ядра символьной математики системы Maple V.

По видимому, это самый серьезный недостаток MathCAD 7.0 PRO. Однако скорее всего разработчики системы пошли на это сознательно: полное объединение MathCAD с Maple V превратило бы новую систему в необычайно мощный инструмент, владеть которым должны суперпрофессионалы, а не рядовые пользователи. Но тогда имидж MathCAD как системы для всех был бы сильно подорван, несмотря на большие перспективы роста возможностей в области компьютерной алгебры.

Тем не менее нельзя не считаться с тем, что символьные вычисления MathCAD выполняет с помощью ядра Maple V: таким образом, интеграция с этой системой налицо, хотя лишь частичная — ведь новая реализация Maple V R4 содержит около 2800 (!) доступных функций, тогда как в MathCAD 7.0 PRO их порядка трех сотен. Это сравнение будет выглядеть еще более впечатляюще если учесть, что функций символьной математики в MathCAD гораздо меньше — всего-то около двух десятков.

Пример объединения MathCAD с MatLAB

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

147.jpg

Рис. 13.7 Загрузка системы MatLAB из MathConnex

наблюдать появление характерной заставки пакета MatLAB 4.2, что показано на рис. 13.7.

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

Рис. 13.8 Пример работы с документом, использующим функции матричной системы MatLAB 4.2

148.jpg

149.jpg

Рис. 13.9 Окно редактора MatLAB, вызванное из документа MathConnex

Данный документ иллюстрирует технику простейшей анимации. Показанная на рис. 13.8 фигура вращается, правда, с черепашьей скоростью (несмотря на просмотр на ПК Pentium 166 ММХ). Это лишний раз свидетельствует о некоторой медлительности имитации сложных процессов с помощью системы MathConnex. Но тут ничего не поделаешь: чем сложнее система имитации, тем медленнее она в работе!

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

Этот пример наглядно показывает полный доступ к ресурсам системы MatLAB, который обеспечивается интегратором приложений MathConnex.

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

Система MathConnex поставляется с рядом примеров ее применения, соответствующие файлы которых расположены в папке Sample. Рассмотрим некоторые из этих примеров, дающие хорошее представление о возможностях системы MathConnex и технике ее применения.

На рис. 13.10 дан один из самых простых примеров: беря данные из таблицы (координаты х и у точек), документ выполняет полиномиальную регрессию, вычисляет коэффициент полинома и коэффициент корреляции.

1410.jpg

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

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

На рис. 13.12 показан пример построения в параметрической форме объемной спирали. Матричные преобразования и построение графика здесь обеспечиваются с помощью блоков системы MathCAD. Построение кривой (довольно медленное) можно видеть в развитии.

1411.jpg

Рис. 13.11 Часть документа системы MathCAD, вызванная из документа MathConnex

1412.jpg

Рис. 13.12 Пример построения пространственной кривой

На рис. 13.13 приведен пример синтеза сложных колебаний и их спектрального анализа с применением метода быстрого преобразования Фурье. И хотя детали документа здесь разглядеть трудно, но, запустив его на своем ПК, вполне можно будет разобраться с этим достаточно сложным примером

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

Рис. 13.13 Синтез сложных колебаний и их спектральный анализ

1413.jpg

Наконец, на рис. 13.14 дан хотя и простой пример, но с применением программной системы Visio, предназначенной для технических графических построений. С ее помощью выполнен показанный в документе рисунок RC-цепи, переходной процесс в которой имитируется.

Рис. 13.14 Пример имитации документа, созданного с применением системы Visio

1414.jpg

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

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

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

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

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

На рис. 13.15 показан начальный этап объектной связи Word 95 с системой MathCAD. Перед вами окно объектной связи процессора Word с другими приложениями. В нем в списке объектов необходимо найти объект MathCAD Document, установить связь в виде значка и нажать кнопку ОК.

Рис. 13.15 Установка связи текстового процессора Word 95 с системой MathCAD 7.0

1415.jpg

После этих операций в текст документа редактора Word будет включен значок математической системы MathCAD. Это показано на рис. 13.16.

Указав на этот значок курсором мыши и дважды щелкнув ее левой клавишей, можно вызвать систему MathCAD и воспользоваться ее возможностями

Рис. 13.16 Экран редактора Word со значком MathCAD Document в документе

1416.jpg

для подготовки нужного математического выражения или графика Это иллюстрирует рис 13 17 на примере задания интеграла.

1417.jpg

Рис. 13.17 Пример входа в окно MathCAD и начало задания интеграла

Завершив ввод интеграла и вычисление его символьного значения, можно вернуться в среду Word закрыв окно MathCAD (см рис 13 18) Все это вы можете сделать, не покидая документа редактора Word

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

Удобным средством для подготовки сложных документов является вставка объекта в кадр. Рис. 13.20 поясняет вставку в кадр введенной формулы.

Рис. 13.18 Завершение вставки формулы в документ редактора Word

1418.jpg

В отличие от простой вставки вставка в кадр обеспечивает обтекание текстом введенной формулы.

Рис. 13.19 Выделенная формула, которую можно перемещать и растягивать

1419.jpg

1420.jpg

Рис. 13.20 Пример вставки формулы в кадр и обтекания кадра текстом

1421.jpg

Рис. 13.21 Вызов окна MathCAD для редактирования формулы

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

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

Рис.13.22 Пример вставки в документ рисунка из системы MathCAD

1422.jpg

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

13.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 может оперировать списками следующего вида:

{ ехрг, ехрг; ехрг, ехрг}

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

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

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

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

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

start_expr: step_expr: end_expr

где start_expr — условие, задающее начальное значение списка чисел; step_ ехрг — шаг изменения ряда чисел; 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.


Top.Mail.Ru