Система SmartMath и ее возможности
Назначение системы SmartMath
Начиная с версии 4.0 система MathCAD обзавелась новым средством оптимизации вычислений – SmartMath. Это фактически экспертная система, ускоряющая вычисления в тех случаях, когда это возможно. При запущенной системе SmartMath процессор численных операций, приступая к вычислению формульного блока, запрашивает символьный процессор о том, может ли тот произвести упрощение или иное преобразование исходной формулы. Если это возможно, то вычисления производятся уже по упрощенной формуле.
Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вычислений и преобразований. Тут дело в том, что символьные вычисления, выполняемые из позиции главного меню Symbolics не наглядны: результат их помещается рядом или под исходным выражением либо замещает его. Откуда он взялся и что именно делается для получения этого результата, в данном случае неясно. К примеру, при вычислении производной некоторого выражения из результата не видно, что вычисляется именно производная, и непонятно, какого она порядка.
Хотя при выполнении символьных операций можно задать опцию вывода комментариев, лишь с применением системы SmartMath процесс символьных преобразований стал очевидным даже в том случае, когда он имеет несколько стадий и выполняется с рядом специальных указаний – директив, которые при этом отображаются в документе.
Система SmartMath более полно использует ядро символьных операций, чем символьные вычисления из подменю позиции Symbolics главного меню, и снимает некоторые ограничения на их выполнение. Например, возможно использование в преобразуемых выражениях функций пользователя. Еще важнее то, что результаты символьных преобразований, выполняемых системой SmartMath, автоматически меняются при изменении исходных символьных данных. Этого, увы, не происходит при символьных вычислениях с помощью команд в позиции Symbolics главного меню.
Описание системы SmartMath не случайно включено в эту главу вместе с разделами по программированию. Она в сущности и является частью программных средств MathCAD, реализующих линейные программы символьных вычислений. При этом блоки символьных вычислений по своей конструкции и идеология их построения очень напоминают программные блоки.
Оператор символьного вывода
Вначале для визуализации результатов символьных преобразований был введен специальный символ – удлиненная горизонтальная стрелка →. Ее можно вызвать нажатием клавиш CTRL +. (точка) или вызовом из палитр математических символов (для ввода отношений и символьных операций). Шаблон этого знака имеет вид →, где на месте черного прямоугольника вводится подвергаемое символьному преобразованию исходное выражение.
Указанный символ можно рассматривать как простой оператор символьного вывода. Если задать исходное выражение и вывести курсор из формульного блока с ним, то система помещает результат его символьных преобразований после стрелки (оператора символьного вывода). Это и есть первый этап работы с системой SmartMath.
Оператор расширенного символьного вывода
В версию системы MathCAD 7.0 PRO введен еще один расширенный оператор символьного вывода. Он задается нажатием клавиш CTRL + SHIFT +. (точка) или выбором из палитры символьных операций. Этот оператор имеет вид →. В первый шаблон-прямоугольник вводится исходное выражение, а во второй – директивы символьных преобразований. Они будут описаны чуть позже; задаются эти директивы или вводом соответствующих ключевых слов, или из палитры символьных операций.
Кроме того, в один такой оператор можно ввести другой, с тем чтобы получить составной расширенный оператор символьного вывода и место для записи нескольких директив. Это позволяет намечать заданный путь символьных преобразований. На рис. 12.1 приведены простейшие примеры применения символьных операций без использования системы SmarthMath и с ее использованием.
Несмотря на простоту примеров, приведенных на рис. 12.1, они дают наглядное представление об отличительных особенностях реализации символьных операций с помощью операторов символьного вывода, которые были указаны выше.
Рис. 12.1. Простейшие примеры применения символьных операций