Интегрирование
Интегрирование в MathCAD реализовано в виде вычислительного оператора. Допускается вычислять интегралы от скалярных функций в пределах интегрирования, которые также должны быть скалярами. Несмотря на то, что пределы интегрирования обязаны быть действительными, подынтегральная функция может иметь и комплексные значения, поэтому и значение интеграла может быть комплексным. Если пределы интегрирования имеют размерность, то она должна быть одной и той же для обоих пределов.
Оператор интегрирования
Интегрирование, дифференцирование, как и множество других математических действий, устроено в MathCAD по принципу "как пишется, так и вводится". Чтобы вычислить определенный интеграл, следует напечатать его обычную математическую форму в документе. Делается это с помощью панели Calculus (Вычисления) нажатием кнопки со значком интеграла или вводом с клавиатуры сочетания клавиш <Shift>+<7> (или символа "&", что то же самое). Появится символ интеграла с несколькими местозаполнителями (рис. 1), в которые нужно ввести нижний и верхний интервалы интегрирования, подынтегральную функцию и переменную интегрирования.
Можно вычислять интегралы с одним или обоими бесконечными пределами. Для этого на месте соответствующего предела введите символ бесконечности, воспользовавшись, например, той же самой панелью Calculus (Вычисления). Чтобы ввести - (минус бесконечность), добавьте знак минус к символу бесконечности, как к обычному числу.

Рис. 1. Оператор интегрирования
Чтобы получить результат интегрирования, следует ввести знак равенствили символьного равенства. В первом случае интегрирование будет проведено численным методом, во втором - в случае успеха, будет найдено точное значение интеграла с помощью символьного процессора MathCAD. Конечно, символьное интегрирование возможно только для небольшого круга несложных подынтегральных функций.
Результат численного интегрирования - это не точное, а приближенное значение интеграла, определенное с погрешностью, которая зависит от встроенной константы TOL. Чем она меньше, тем с лучшей точностью будет найден интеграл, но и тем больше времени будет затрачено на расчеты. Поумолчанию TOL=O.OOI. Для того чтобы ускорить вычисления, можно установить меньшее значение TOL.
Отдавайте себе отчет в том, что при вводе в редакторе MathCAD оператора численного интегрирования, вы, фактически, создаете самую настоящую программу. Пользователь имеет возможность выбирать сам алгоритм численного интегрирования. Для этого:
- 1. Щелкните правой кнопкой мыши в любом месте на левой части вычисляемого интеграла.
- 2. В появившемся контекстном меню выберите один из четырех численных алгоритмов (рис. 2).
Обратите внимание, что перед тем как один из алгоритмов выбран впервые, как показано на рис. 2, флажок проверки в контекстном меню установлен возле пункта AutoSelect (Автоматический выбор). Это означает, что алгоритм определяется MathCAD, исходя из анализа пределов интегрирования и особенностей подынтегральной функции. Как только один из алгоритмов выбран, этот флажок сбрасывается, а избранный алгоритм отмечается точкой.

Рис. 2. Выбор алгоритма численного интегрирования
Разработчиками MathCAD 2001 запрограммированы четыре численных метода интегрирования:
- - Romberg (Ромберга) - для большинства функций, не содержащих особенностей;
- - Adaptive (Адаптивный) - для функций, быстро меняющихся на интервале интегрирования;
- - Infinite Limit (Бесконечный предел) - для интегралов с бесконечными пределами ();
- - Singular Endpoint - для интегралов с сингулярностью на конце. Модифицированный алгоритм Ромберга для функций, не определенных на одном или обоих концах интервала интегрирования.
Старайтесь все-таки оставить выбор численного метода за MathCAD, установив флажок AutoSelect (Автоматический выбор) в контекстном меню. Попробовать другой метод можно, например, чтобы сравнить результаты расчетов в специфических случаях, когда у вас закрадываются сомнения в их правильности.
Если подынтегральная функция "хорошая", т. е. не меняется на интервале интегрирования слишком быстро и не обращается на нем в бесконечность, то численное решение интеграла не принесет никаких неприятных сюрпризов. Приведем основные идеи итерационного алгоритма Ромберга, который применяется для большинства таких функций.
- - Сначала строится несколько интерполирующих полиномов, которые заменяют на интервале интегрирования подынтегральную функцию f (x). В качестве первой итерации полиномы вычисляются по 1, 2 и 4 интервалам. Например, первый полином, построенный по 1 интервалу, - это просто прямая линия, проведенная через две граничные точки интервала интегрирования, второй - квадратичная парабола и т. д.
- - Интеграл от каждого полинома с известными коэффициентами легко вычисляется аналитически. Таким образом, определяется последовательность интегралов от интерполирующих полиномов: ii, i2, . . .
- - Из-за интерполяции по разному числу точек вычисленные интегралы ii, 12,... несколько отличаются друг от друга. Причем чем больше точек используется для интерполяции, тем интеграл от интерполяционного полинома ближе к искомому интегралу, стремясь к нему в пределе бесконечного числа точек. Поэтому определенным образом осуществляется экстраполяция последовательности ii, I2, it,,., до нулевой ширины элементарного интервала. Результат этой экстраполяции j принимается за приближение к вычисляемому интегралу.
- - Осуществляется переход к новой итерации с помощью еще более частого разбиения интервала интегрирования, добавления нового члена последовательности интерполирующих полиномов и вычисления нового (м-го) приближения Ромберга JN.
- - Чем больше количество точек интерполяции, тем ближе очередное приближение Ромберга к вычисляемому интегралу и, соответственно, тем меньше оно отличается от приближения предыдущей итерации. Как только разница между двумя последними итерациями | JN-j""11 становится меньше погрешности TOL или меньше TOL-|JN|, итерации прерываются, и JN появляется на экране в качестве результата интегрирования.О расходящихся интегралах
Если интеграл расходится (равен бесконечности), то вычислительный процессор MathCAD может выдать сообщение об ошибке, выделив при этом оператор интегрирования, как обычно, красным цветом. Чаще всего ошибка будет иметь тип "Found a number with a magnitude greater than 10Л307" (Найдено число, превышающее значение 10307) или "Can't converge to a solution" (Не сходится к решению), как, например, при попытке вычислить интеграл [- dx Тем не менее, символьный процессор справляется с этим Jo Vx интегралом, совершенно правильно находя его бесконечное значение.