Смекни!
smekni.com

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

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

Визуально-ориентированный язык общения системы Mathcad надо отличать от языка реализации системы, то есть обычного языка программирования высокого уровня, на котором написана система. Языком реализации системы Mathcad являет­ся один из самых мощных языков высокого уровня — C++.

По существу, входной язык системы — промежуточное звено между скрытым от пользователя языком документа и языком реализации системы. По мере того как пользователь создает (средствами текстового, формульного и графического редак­торов) в окне редактирования объекты (тексты, формулы, таблицы и графики), си­стема сама составляет программу на некотором промежуточном языке связи, кото­рая хранится в оперативной памяти до тех пор, пока не будет записана на диск в виде файла с расширением. mcd. Однако важно подчеркнуть, что от пользователя не тре­буется знание языков программирования (реализации и связи), достаточно освоить приближенный к естественному математическому языку входной язык системы.

В версии Mathcad 2000 PRO значительно снижены требования и к знанию даже входного языка. Практически все операторы, имеющие вид привычных математи­ческих символов, можно выбирать мышью в палитрах математических объектов, а большинство математических функций (например, sin, cos, ехр и т. д.) имеют есте­ственную форму задания, например, sin (х) так и вводится — sin (х). К тому же есть возможность выбора функций из списка, имеющегося в специальном окне, что рез­ко уменьшает вероятность ошибок при вводе. Этот список выводится с помощью кнопки f(x) на панели инструментов.

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

Средства повышения эффективности вычислений и их оптимизация

Как отмечалось, входной язык системы Mathcad — интерпретируемый. В интерпре­таторах, например, в Бейсике, листинг программы пользователя анализируется системой сверху вниз

(а в пределах строки — слева направо), и любые указания в программе тут же выполняются. Так же просматриваются блоки в системе Mathcad. Как только блок опознается, система автоматически запускает внутренние подпрограммы для выполнения необходимых действий, например, вы­числения по формуле, вывода таблицы значений вектора, построения рисунка по его шаблону и т. д. Интерпретаторы работают медленно, поэтому не случайно, что пользователи, рабо­тавшие со старыми версиями Mathcad, отмечали медлительность систем, особенно при сложных вычислениях и при построении графиков. Медлительность является и следствием работы системы в графическом режиме, когда малейшее изменение со­держания экрана требует его полной перерисовки.

В последние версии Mathcad введена экспертная система SmartMath. Эта система старается использовать при численных вычислениях конечные формулы, получен­ные в результате символьных (аналитических) преобразований. Часто (хотя и не всегда) это дает значительное ускорение вычислений в сравнении с их реализацией численными методами.

Операция оптимизации вычислений с помощью системы SmartMath вводится спе­циальными атрибутами (знак * у формул) и словами — директивами. Их число в новых версиях Mathcad значительно увеличено, и для ввода операторов и директив символьной математики добавлена специальная палитра. Таким образом система SmartMath превратилась в полноправного члена семьи Mathcad. Наиболее развит этот подход в самом мощном варианте системы — Mathcad 2000 Premium, в состав которой введено оптимизирующее расширение The Expert Solver, автоматически включающее «на всю катушку» средства SmartMath.

Средства расширения систем Mathcad

Начиная с версии Mathcad PLUS 5.0 в систему введена возможность ее расширения функциями, которые задаются обычными программами на языке С или C++. Одна­ко это не позволяет эффективно и просто решить проблему расширения. На С или C++ хорошо программируют системные программисты, но они весьма редко разби­раются в сути математических задач. Как отмечалось, начиная с версии Mathcad PLUS 6.0 у системы появилась весьма изящная возможность записи встроенных в документ программных модулей, реали­зующих типовые управляющие структуры и записанных в виде обычных программ. Так что теперь Mathcad предоставляет програмистам пол­ную свободу для самовыражения. Средством локального расширения системных возможностей являются также функции пользователя.

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

Электронные книги — это пакеты для решения задач в определенной области науки и техники, ориентированные на типовые средства систем класса Mathcad.

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

Библиотеки — это комплекты электронных книг и пакетов расширения.

4.Приемы работы с системой MathCad

Документ программы MathCad называется рабочим листом. Он содержит объекты:

формулы и текстовые блоки. В ходе расчетов формулы обрабатываются последо­вательно, слева направо и сверху вниз, а текстовые блоки игнорируются. Ввод информации осуществляется в месте расположения курсора. Программа MathCad использует три вида курсоров. Если ни один объект не выбран, использу­ется крестообразный курсор, определяющий место создания следующего объекта. При вводе формул используется уголковый курсор, указывающий текущий элемент выражения. При вводе данных в текстовый блок применяется текстовый курсор в виде вертикальной черты.

Ввод формул

Формулы — основные объекты рабочего листа. Новый объект по умолчанию явля­ется формулой. Чтобы начать ввод формулы, надо установить крестообразный курсор в нужное место и начать ввод букв, цифр, знаков операций. При этом созда­ется область формулы, в которой появляется уголковый курсор, охватывающий текущий элемент формулы, например имя переменной (функции) или число. При вводе бинарного оператора по другую сторону знака операции автоматически появ­ляется заполнитель в виде черного прямоугольника. В это место вводят очередной операнд. Для управления порядком операций используют скобки, которые можно вводить вручную. Уголковый курсор позволяет автоматизировать такие действия. Чтобы выделить элементы формулы, которые в рамках операции должны рассматриваться как единое целое, используют клавишу ПРОБЕЛ. При каждом ее нажатии уголковый курсор «расширяется», охватывая элементы формулы, примыкающие к данному. После ввода знака операции элементы в пределах уголкового курсора автоматически заключаются в скобки. Элементы формул можно вводить с клавиатуры или с помощью специальных панелей управления. Панели управления (рис. 1) открывают с помощью меню View (Вид) или кнопками панели управления Math (Математика). Для ввода элементов формул предназначены следующие панели:

  • панель управления Arithmetic (Счет) для ввода чисел, знаков типичных математи­ческих операций и наиболее часто употребляемых стандартных функций;
  • панель управления Evaluation (Вычисление) для ввода операторов вычисления и знаков логических операций;
  • панель управления Graph (График) для построения графиков;
  • панель управления Matrix (Матрица) для ввода векторов и матриц и задания матричных операций;
  • панель управления Calculus (Исчисление) для задания операций, относящихся к математическому анализу;
  • панель управления Greek (Греческий алфавит) для ввода греческих букв (их можно также вводить с клавиатуры, если сразу после ввода соответствующего латин­ского символа нажимать сочетание клавиш CTRL+G, например [a][CTRL+G] — a, [W][CTRL+G]-W);
  • панель управления Symbolic (Аналитические вычисления) для управления ана­литическими преобразованиями.

Введенное выражение обычно вычисляют или присваивают переменной. Для вывода результата выражения используют знак вычисления, который выглядит как знак равенства и вводится при помощи кнопки Evaluate Expression (Вычислить выражение) на панели инструментов Evaluation (Вычисление).