d9e5a92d

Коваленко С.А. - Описание пакета Mathcad

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

Для этого он вынужден изучать языки программирования и многочисленные, подчас весьма тонкие капризные численные методы математических расчетов. Нередко при этом из под руки способного физика, химика или инженера выходят далёкие от совершенства программы.
Это не вполне нормальное положение может изменить к лучшему применение интегрированных программных систем автоматизации математических расчетов (Eureka, MathCAD, MatLab и др.). Здесь рассматриваются возможности и эволюция одной из таких систем - MathCAD.
Фирма MathSoft Inc.(США) выпустила первую версию системы в 1986 г. Главная отличительная особенность системы MathCAD заключается в её входном языке, который максимально приближён к естественному математическому языку, используемому как в трактатах по математике, так и вообще в научной литературе. В ходе работы с системой пользователь готовит так называемые документы.

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

Возможности системы


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

Блоки выполняются слева направо и сверху вниз. Подготовка и исполнение документов MathCAD может осуществляется с помощью: главного меню и спускающихся подменю (для их появления необходимо нажать клавишу F10), командного режима (вводится нажатием клавиши Esc и команд в верхней командной строке ), комбинации обычных клавиш, а так же с помощью управляющих клавиш. В последнем случае, например, нажатие клавиши F1 обеспечивает вызов системы подсказок, F5 - загрузку документов с дискового накопителя, F6 - запись редактируемого документа на диск и т.д.
Из режимов работы необходимо особо отметить режимы auto и manual. Режим auto обеспечивает автоматические вычисления сразу после загрузки документа по мере его прокрутки (скроллинга) на экране дисплея. В этом режиме скроллинг ощутимо замедлен, особенно при использовании системы на ПК класса IBM PC XT без математического сопроцессора.

Режим manual (ручной) позволяет осуществлять быстрый скроллинг без выполнения документа. Для проведения вычислений от начала документа и до конца видимой на экране дисплея его части нужно нажать клавишу F9.


Текстовые блоки являются не более чем комментариями. Их назначение - пояснить сухое и лаконичное математическое описание, представленное на входном языке системы. Текстовые блоки могут быть полноформатными (на всю длину строки) и в виде прямоугольников ограниченных размеров.

Если ввести знак кавычки, то на экране дисплея появится пара кавычек, между которыми вводить и редактировать текст в обычном порядке.
Текстовый редактор системы не обладает всеми возможностями специализированных редакторов текста, однако позволяет корректировать тексты, выравнивать их по краю, перемещать текстовые блоки в любое место документа и т.д. Весьма удобны средства редактирования документов, позволяющие, в частности, стирать указанный курсором блок (клавиша F3 ) и вставлять блок на новое место (клавиша F4 ). При необходимости можно использовать два окна системы, перенося блоки из одного окна в другое.
Математический интерпретатор системы - наиболее интересная её часть. Математические формулы, подлежащие интерпретации, записываются в общепринятом виде. Например, вычисление квадратного корня из двух в системе MathCAD задаётся как v2 =, а не в виде PRINT SQR (2) , как это делается, скажем, на Бейсике. Для ввода формул используются шаблоны, вводимые определёнными комбинациями клавиш.

Имеется возможность изменения формата представления чисел, например числа знаков после разделительной точки, погрешности вычислений и обозначения мнимой единицы (i на j и наоборот) при операциях с комплексными числами.
Чтобы вывести на экран дисплея графический блок, необходимо установить курсор на место левого верхнего будущего графика и ввести знак @. На экране дисплея появится прямоугольник - шаблон будущего графика. Начиная с версии 2.0, масштаб можно и не указывать - он вычисляется автоматически.
Возможности системы поясняют следующие конкретные примеры. Название операции Задание операции Численный пример 2
Возведение в степень XY 3 = 9 Вычисление факториала X! 4! = 24
Вычисление квадратного корня \X 9 = 3
Вычисление абсолютного значения |X |-5| = 5
Сложение X+Y 2 + 3 = 5
Умножение X*Y 23 = 6
12 Деление X/Y -3 = 4 Присваивание значений переменной X:Y X : = 8
Вывод значения переменной X = X = 8
Задание циклической переменной i : = N1..N2 i : = 1,...,5
Суммирование членов ряда i \ X X = 2i i i
3
Перемножение членов ряда i # X X = 3.8410
i i
1
Вычисление определённого интеграла xf(x) 2xdx = 0.93 0 Задание функции пользователя f(X) : ... f(x): = sin x Инициализация переменной х : ... x : = 1, f (x) = 0.841
df(x) = 0.54
Вычисление производной x ? f (x) - dx Задание и проверка неравенства X Y 5 4 = 1, 4 5 = 0
Вычисление специальных функций Jn(x) = Jn(1,.5) = 0. 242 Бесселя и интеграла вероятности J1(x) = J1(.5) = 0.242
erf(x) = erf(1) = 0.843 Документ 1. Примеры выполнения математических операций .
Документ 1 иллюстрирует задание и исполнение в системе MathCAD ряда математических действий. Среди них вычисление алгебраических, тригонометрических и гиперболических функций, сумм и произведений рядов, определённого интеграла и производной.
В MathCAD предусмотрены средства для решения нелинейных уравнений, не имеющих аналитических решений. Так , функция root (f(x,y,z,),x) ищет значение переменной x, при котором f(x,y,z) = 0. Более сложные вычисления (решение систем нелинейных уравнений, минимизация функций нескольких переменных и др.) обеспечиваются организацией вычислительного блока, открываемого словом Given.
Документ 2 показывает решение актуальной для садовода или любителя баньки задачи: как, сгибая железный лист, получить ящик заданного объёма. Оказывается, есть три решения.

Ящик может быть неглубоким, но с дном большой площади или глубоким, но с дном малой площади. Третье решение физически нереально.

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

К последним относится вычисление комплексного кругового интеграла, в ходе которого выполняется численное интегрирование и дифференцирование с комплексными аргументами.
Начиная с версии 2.0 в MathCAD введён функционально полный набор векторных и матричных операций. Это существенно облегчает решение задач линейной алгебры. В качестве примера в документе 3 даётся решение системы линейных уравнений с комплексными коэффициентами, в ходе которого производится обращение комплексной матрицы.

К таким уравнениям приводит анализ электрических и электронных цепей на переменном токе.
Весьма привлекательны средства линейной и сплайн-интерполяции и экстраполяции данных. Линейная интерполяция графически означает просто соединение узловых точек графика отрезками прямых. В отличии от неё сплайн-интерполяция напоминает соединение этих точек с помощью гибкой линейки. Строго математически это означает проведение через каждые три точки линии, описываемой кубическим полиномом.

При этом во всех стыкуемых точках обеспечивается непрерывность как первой , так и второй производной каждого из полиномов. Сплайн-интерполяция - это мощное средство представления данных, заданных небольшим числом узловых точек.
Документ 4 демонстрирует задание в виде векторов напряжений и токов N - образной вольт - амперной характеристики туннельного диода. Затем проводиться интерполяция-экстраполяция этой характеристики описанными в документе способами . Можно заметить ,что сплайн- интерполяция в данном случае предпочтительнее линейной .
MathCAD имеет обширный набор статических операторов и функций ,обеспечивающих генерацию случайных чисел ,а также вычисление среднего ,дисперсии и вариации ,коэффициентов линейной регрессии, ряда специальных математических функций .Документ 5 организует генерацию 200 случайных чисел ,их представление на плоскости ,вычисление ряда статистических параметров и построение гистограммы распределения .
Графические возможности системы.
Мы уже отмечали графические возможности системы. MathCAD позволяет строить самые разнообразные графики: в декартовой и в полярной системе координат, с масштабной сеткой и без неё, с линейным и логарифмическим масштабом, с отметкой линий прямоугольниками, крестами, ромбами и т.д.

Задание вида и размера графика осуществляется вводом соответствующего формата. Для задания формата можно ввести внутрь шаблона графика курсор и нажать клавишу F.В верхней строке появятся данные о формате заданного графика, например:
logs = 0,0 subdivs = 1,1 size = 5,15 type = 1
Если параметры logs - нули, график строится с линейным масштабом, иначе- с логарифмическим (в этом случае параметры указывают число делений шкалы в пределах декады) . Параметры subdivs задают число делений шкалы, а параметры size - размеры графика, выраженные в знакоместах. Во всех этих случаях первый параметр относится к оси Y графика, второй - к оси Х. Параметр type описывает указание о типе графика в виде малой или большой латинской буквы. Например, указание L задаёт сплошной график, d строит точки в узлах и т.д.

Возможна комбинация таких указаний.

Конструирование железного ящика заданного объёма

VO : = 7.5 Заданный объём ящика
W : = 4 Ширина листа
L : = 8 Длина листа
X : = 0,0.2 .. 5 Расстояние от линии отгиба листа V(X) : = (L - 2X)(W - 2X)X Объём ящика
F(X) : = V(X) -VO Основное уравнение

Графическое решение задачи

Решение задачи численным методом Инициализация Решение Комментарий
X : = 0 root(V(X) - VO, X) = 0.297 Плоский ящик
X : = 1 root(V(X) - VO, X) = 1.5 Глубокий ящик
X : = 4 root(V(X) - VO, X) = 4.203 Решение физически нереально (X W/2) Конструирование железного ящика максимального объёма
X : = 1 Инициализация Given Начало блока решения
V(X) : = (L - 2X)(W - 2X)X Основное уравнение
V(X) 100 Объём, заведомо превышающий
требуемый
X M : = minerr ( X ) Поиск оптимального значения Х
X M = 0.848 Найденное оптимальное значение Х
V(X M ) = 12.317 Максимально возможный объём ящика
Документ 2. Задача о конструирование железного ящика заданного и максимальногообъёма

Задание мнимой единицы


i : = -1 Арифметические операции Z1 : = 2 + 3i Z2 : = 4 + 5i
Z : = Z1 + Z2 Z = 6 + 8i
Re ( Z ) = 6 Im ( Z ) = 8
sin ( Z1 ) = 9.154 - 4. 169i Вычисление комплексных корней квадратного уравнения х : = 0 + 3i ( Инициализация первого корня )
2 root(x + 2x +15, x) = - 1 + 3.742i ( Первый корень ) x : = 0 - 3i ( Инициализация второго корня )
2 root(x + 2x +15, x) = - 1 + 3.742i ( Второй корень ) Решение систем линейных уравнений с комплексными коэффициентами 10 + 200i 0 - 200i 5 + 0i
А : = B : =
0 - 200i 0 + 170i 0 + 0i -1 X : = A B (Решение с помощью матричных операторов)
0.037 + 0.131i
Х : = (Вектор решения)
0.044 + 0.154i Вычисление комплексного кругового интеграла 1
f(x) : = - z(t) : = cos(t) + sin(t)
x
-4
te : = 6.2832 TOL : = 10 (Погрешность)
te
d
f(z(t)) - z(t) dt = 6.283

  • dt

0
Документ 3. Примеры операций с комплексными числами. Задание ВАХ туннельного диода 0 0
.2 50 ( Векторы исходных данных,
.4 20 содержащие координаты
U: = .6 I : = 3 семи узловых точек ВАХ )
.8 4
1.0 14
1.2 55 Линейная интерполяция ВАХ
linterp(U, I, 0.15 ) = 37.5 (Примеры интерполяции ВАХ) linterp(U , I, 0.5) = 11.5
J(V) : = linterp(U, I, V) (Задание функции J(V) ВАХ )
V : = -0.05, - 0.025 .. 1.2 40 На графике ВАХ при линейной интерполяции отчётливо видны
отрезки прямых, и кривая В АХ
J(V),0 неестественно
-40
-0.05 V 1.2 Интерполяция кубическими сплайнами IS : = cspline(U ,I) (Векторы вторых производных) interp (IS, U, I, 0.15) = 49.493 (Примеры сплайн - интерполяции)
interp (IS, U, I, 0.5) = 8.191
J(V) : = interp (IS, U, I, V ) (Задание функции J(V) ВАХ)
V : = -0.05, - 0.025 .. 1.2 40 Кривая ВАХ при сплайн -
интерполяции отличается
плавностью и похожа на
J(V),0 реальную кривую ВАХ
-40
-0.05 V 1.2 Документ 4. Линейная и сплайн - интерполяция N - образной вольтамперной характеристики (ВАХ) туннельного диода .
Генерация 200 случайных чисел с равномерным распределением
i : = 1..200 x : = rnd ( 10 ) i
Графическое представление случайных чисел 10 х График наглядно показывает
i равномерность распределения
случайных чисел 0 1 i 200 Вычисление основных статистических параметров массива х mean(x) = 4.619 var(x) = 8.869 max (x) = 9.95 min (x) = 0
stdev (x) = 2.978
Подготовка данных к построению гистограммы N : = 10 j : = 0..N k : = 0..N - 1
10
intervals : = 1 + j - P : = hist (intervals, x )
j N Гистограмма распределения чисел в массиве х Графики можно перемещать в любое место документа, указанное положением курсора, они могут иметь любые размеры. На одном графике можно строить несколько кривых; для этого в формате после слова type нужно перечислить параметры кривых, разделяя их запятыми.
Версия 2.50 системы обеспечивает возможность построения поверхностей и фигур. При этом необходимо задать функцию двух переменных и сформировать матрицу с условным именем М - массив узловых точек.

Работа с файлами


Реализован и импорт файлов, содержащих сложные графические построения из других систем, таких, как AutoCAD и TurboCAD. Для этого с помощью специальной программы mostrans, входящей в систему, нужно преобразовать импортируемый файл с расширением mcd.

Такой файл после загрузки командой Load вызывает построение графика, верхний левый угол которого задаётся положением курсора.
Общение с внешними устройствами
Система MathCAD обладает обширными возможностями для общения с внешними устройствами. Помимо записи и считывания документов предусмотрена запись и считывание файлов , хранящих различные данные, - вплоть до векторов и матриц с комплексными коэффициентами. Это позволяет использовать систему для обработки данных, поступающих от внешних устройств.

Поддерживаются все основные типы дисплеев: монохромный Hercules, CGA, EGA, VGA и др. Последние версии системы (начиная с 2.50 ) поддерживают работу почти с 40 типами принтеров и плоттеров, включая 9 и 24 - игольчатые принтеры с двухцветной и многоцветной печатью и лазерные принтеры.

Автоматически обеспечивается работа с сопроцессорами математических операций.
Система MathCAD становится более гибкой

Система MathCAD версии 3.0

В систему MathCAD версии 3.0 (фирма Mathsoft ), предназначенную для выполнения научно - технических вычислений, введён ряд новых одна из которых позволяет работать в среде Windows. По - видимому, их появление обрадует всех те6х, кто имеет дело с обработкой чисел. Система MathCAD - это лёгкое в освоении и одновременно мощное средство для выполнения исследований. С точки зрения функций, которые она выполняет, MathCAD можно сравнить с рабочим блокнотом инженера или учёного.

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

Чтобы пользоваться системой, вам не нужно держать в уме множество специальных обозначений, как это требуется в случае электронных таблиц. Нравится и то, что можно уравнения в том виде, в каком они обычно изображаются в книгах и на классных досках .
В эту версию системы введены символьные вычисления, без которых не обходится ни один серьёзный математический пакет. Символьный процессор базируется на пакете Mapple фирмы Waterloo Mapple Software.
MathCAD предлагает довольно полный набор встроенных функций. При подготовке данной версии были добавлены две новые полезные функции, обеспечивающие нахождение собственных чисел и собственных векторов для вещественных матриц.

Система включает теперь встроенную программу, которая контролирует единицы измерения, и редактор формул.
Чтобы уберечь вас от необходимости выискивать формулы, которые приводятся только в справочных изданиях, в данную версию системы включен электронный справочник. Он обеспечивает экранные подсказки которые очень пригодятся новичкам.
Имеются, однако, два момента, которые наверняка не понравятся её пользователям. Во - первых, при использовании 35 - см экрана, приходится напрягать глаза, чтобы разглядеть очень маленькие цветные пиктограммы.

И во - вторых, качество изображения графиков оставляет желать лучшего.

MathCAD PLUS 6.0


Решение алгебраических систем Лучше один раз увидеть[схему задачи],чем сто раз услышать [её условие] - такое расширение пословицы можно отнести ко всем прикладным программам, работающим под управлением операционной системы Windows, которую не зря называют графической оболочкой. Пакет MathCAD в этом смысле - не исключение. Работая в среде Windows, можно с помощью графического редактора PaintBrush (или какого - то ) другого нарисовать схему задачи, а потом через Буфер Обменов ClipBoard перенести рисунок в документ MathCAD.

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

С другой стороны, Буфер Обменов ClipBoard поможет перенести фрагменты MathCAD - документа в Word - документ и там дооформить их. В шестой версии - MathCAD в меню FILE (Файл) появился пункт Export Worksheet (Экспорт), существенно облегчающий эту работу.
Решение любой задачи в любой программной среде, как правило, начинается с ввода исходных данных. Работая с языком BASIK (или с каким - то другим ), вводя переменные и задавая им определённый тип, программист заботится не о физике решаемой задачи, а о... памяти машины.

Тип числовой переменной с точки зрения программиста - прикладника - это атавизм тех времён, когда память машины была одним из лимитирующих факторов при решении задачи. Пакет MathCAD в этом смысле расточителен - он присваивает всем числовым переменным двойную точность с 15 знаками в мантиссе. Эти переменные предстают перед глазами пользователя либо в целочисленном (17, например ), либо в вещественном (3.14), либо в комплексном виде.

Но через знак : = в среде MathCAD можно присвоить переменной не только конкретную величину (20, 1,10, 30 - математика задачи), но и размерность (ньютон, метр, угловой градус - физика задачи ). Для присваивания величине размерности за ней ставится знак помножить и вводится название соответствующей размерности. А можно поступить по другому - нажать на панели инструментов на кнопку с изображением мерной кружки.

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

Найти) использует расчётную методику, основанную на поиске корня вблизи точки начального приближения, заданной пользователем.
Можно написать требуемую систему уравнений, зажав её между ключевым словом Given и функцией Find. Функция Find возвращает значения переменных, превращающих вышеперечисленные (до слова Given ) уравнения в тождества.

Если уравнений более одного, то возвращаемые значения размещаются в векторе - в группе переменных, зажатых в кулак, но этот кулак, как мы уже отмечали, легко разжать, выводя на дисплей найденные значения с первородной размерностью массы (kg), длины (m) и времени (sec): пакет MathCAD разжимает и сам вектор, м составные размерности, приписывая к числам комбинации основных физических единиц.



Содержание раздела