Сегодня не часто вспоминают о том, что компьютеры были
созданы в первую очередь для проведения научных расчетов. До сих пор научные и
инженерные расчеты остаются одной из важнейших, хотя, пожалуй, и не самой
бросающейся в глаза сфер приложения компьютеров. За многие годы накоплены
обширные библиотеки научных подпрограмм, в первую очередь, на языке FORTRAN, предназначенных для
решения типовых задач (задачи линейной алгебры, интегрирование, решение
дифференциальных уравнений и т. д.). Кроме того, имеется целый ряд различных
математических пакетов, реализующих разнообразные численные методы, а так же
способных производить аналитические математические преобразования. Пожалуй, наиболее
известными сегодня являются следующие пакеты: Mathematica (фирма WolframResearch), Maple (фирма WaterlooMapleInc), Matlab(фирма The
MathWorks), Mathcad (фирма
MathSoftInc).
Первые два фактически являются языками для проведения символических математических
преобразований.
Пакета Mathematica,
по-видимому, является сегодня наиболее популярным в научных кругах, особенно
среди теоретиков. Пакет предоставляет широкие возможности в проведении
символических (аналитических) преобразований, однако требует значительных
ресурсов компьютера. Система команд пакета во многом напоминает какой-то язык
программирования.
Пакет Maple
также весьма популярен в научных кругах. Кроме аналитических преобразований
пакет в состоянии решать задачи численно. Характерной особенностью пакета
является то, что он позволяет конвертировать документы в формат LaTeX – стандартный
формат подавляющего большинства научных издательств мирового класса. Кроме
того, ряд других программных продуктов используют интегрированный символический
процессор Maple.
Например, пакет подготовки научных публикаций ScientificWorkPlace (фирма TCISoftwareResearch) позволяет
обращаться к символическому процессору Maple, производить аналитические преобразования и встраивать
полученные результаты в документ.
Подобно упомянутым выше пакетам, пакет Matlab фактически представляет
из себя своеобразный язык программирования высокого уровня, ориентированный на
решение научных задач. Характерной особенностью пакета является то, что он позволяет
сохранять документы в формате языка программирования С.
Пакет Mathcad
популярен, пожалуй, более в инженерной, чем в научной среде. Характерной
особенностью пакета является использование привычных стандартных математических
обозначений, то есть документ на экране выглядит точно так же обычный
математический расчет. Для использования пакета не требуется изучать какую-либо
систему команд, как, например, в случае пакетов Mathematica или Maple. Пакет ориентирован в первую
очередь на проведение численных расчетов, но имеет встроенный символический
процессор Maple, что
позволяет выполнять аналитические преобразования. В последних версиях
предусмотрена возможность создавать связки документов Mathcad с документами Mathlab. В отличие от упомянутых выше
пакетов, Mathcadявляется средой визуального
программирования, то есть не требует знания специфического набора команд.
Простота освоения пакета, дружественный интерфейс, относительная
непритязательность к возможностям компьютера явились главными причинами того,
что именно этот пакет был выбран для обучения студентов численным методам.
В последнее время просматривается тенденция к сближению и
интеграции различных пакетов. Например, последние выпуски пакетов Mathematica и Mapleимеют
хорошие возможности для визуального программирования; в Matlab включена библиотека аналитических
преобразований Maple; Mathcadпозволяет
работать совместно с Matlab.
В настоящем пособии мы рассмотрим на многочисленных
примерах, каким образом решаются на Mathcad’e
разнообразные задачи численного анализа (решение систем линейных и нелинейных
уравнений, решение дифференциальных уравнений, аппроксимация функций и т.д.). Пособие не
является ни учебником по численным методам, ни руководством по Mathcad’у. Предполагается,
что читатель имеет представление об основных численных методах и умеет
пользоваться пакетом Mathcad
хотя бы на самом примитивном уровне. Численные методы обсуждаются лишь в том
объеме, который необходим для понимания работы соответствующих функций Mathcad¢а.
Необходимые ссылки как на учебники по численным методам, так и на руководства
по пакету Mathcad
читатель может найти в списке литературы. Отбор численных методов, включенных в
пособие, с одной стороны отражает программу курса «Численные методы», а с
другой стороны имеет в виду курс «Математическое моделирование и решение задач
на ЭВМ», в котором многие из приведенных методов будут активно использоваться
для решения задач компьютерного моделирования. Кроме того, к сожалению,
существует настоящая пропасть между теми численными методами, которые описаны в
общедоступных учебниках, и теми, которые применяются на практике. В
замечательной, хотя и недоступной для большинства студентов книге "NumericalRecipesinC", авторы замечают:
"Увы, времена меняются; <…> классические формулы почти абсолютно
бесполезны. Они являются музейными экспонатами, хотя и прекрасными". В
данном пособии делается попытка перебросить мостик через эту пропасть.
На момент написания данного пособия последней версией Mathcad¢а
является версия Mathcad
2000 (предыдущая версия – Mathcad
8). Поскольку данная версия еще не получила повсеместного распространения,
возможности, реализованные только в этой версии, оговариваются в пособии особо.