Приближенные вычисления.
Это дополнение расширяет список встроенных функций программы Mathematica для приближенных численных расчетов. Оно содержит средства подгонки функциями (полиномом, сплайнами, тригонометрическими), численные версии некоторых аналитических функций ядра (ND, NLiunit, NResldue, NSencs), функции численного интегрирования (CauchyPrincipalValue, Listintegrate, IntegrateInterpolationFunction), аппроксимации отношением полиномов, поддержки численного решения дифференциальных уравнений (BesscIZeros, Butcher, Order-Star), а также альтернативный способ нахождения корней (FindRout) с использованием методов интервалов или интерполяции. В последнюю версию введены пакеты для численного нахождения вычетов и разложений комплексных функций.
Статистика.
Это дополнение включает методы статистической обработки данных. В нем содержатся функции известных непрерывных и дискретных статистических распределений. В новую версию добавлены пакеты подгонки и сглаживания данных, классической и робастной описательной статистики, линейной и нелинейной регрессии с диагностикой.
Профессиональные приложения.
Для программы Mathematica помимо стандартных дополнений разработано большое количество профессиональных приложений – пакетов, расширяющих возможности программы в специальных областях. Библиотека приложений в настоящее время содержит 23 различных пакета, из которых 18 разработано корпорацией, а остальные – другими разработчиками. Причем эта библиотека очень быстро пополняется.
Для иллюстрации возможностей рассматриваемого пакета обратимся к следующей теории и примерам:
Многие математические операции базируются на понятии комплексных чисел. Они задаются в форме: z=Re(z)+I*Im(z) или z=Re(z)+i Im(z), где знак I – мнимая единица (квадратный корень из –1), Re(z) – действительная часть комплексного числа, а Im(z) – мнимая часть комплексного числа.
Пример задания комплексного числа: 2 + I 3 или 2 + 3*I
Мнимая часть задается умножением ее значения на символ мнимой единицы I. При этом знак умножения «*» можно указывать явно или заменить его пробелом, в последнем случае комплексное число выглядит более естественным. Функции Re[z] и Im[z] выделяют соответственно действительную и мнимую части комплексного числа z.
Большинство операторов и функций системы Mathematica работают с комплексными числами. Разумеется, это расширяет сферу применения системы и позволяет решать на ней различные специальные задачи – например, относящиеся к теории функций комплексного аргумента.
Элементарные функции в системе Mathematica могут иметь аргумент в виде комплексного числа z. Аргументы указываются как параметры функций в квадратных скобках.
Прежде всего, отметим функции для работы с комплексными числами z.
Abs[z] – возвращает модуль комплексного числа.
Arg[z] – возвращает аргумент комплексного числа z.
Conjugate[z] – возвращает комплексно сопряженное с z число.
Im[z] – возвращает мнимую часть комплексного числа z.
Re[z] – возвращает вещественную часть числа z.
ArcCos[z] – возвращает арккосинус комплексного числа z.
ArcCosh[z] – возвращает значение обратного гиперболического косинуса комплексного аргумента z.
ArcCot[z] – возвращает значение арккотангенса комплексного аргумента z.
ArcCoth[z] – возвращает обратный гиперболический котангенс комплексного аргумента z.
ArcCsc[z] – возвращает арккосеканс комплексного аргумента z.
ArcCsch[z] – возвращает обратный гиперболический косеканс комплексного аргумента z.
ArcSec[z] – возвращает арксеканс комплексного аргумента z.
ArcSech[z] – возвращает обратный гиперболический секанс комплексного аргумента z.
ArcSin[z] – возвращает арксинус комплексного аргумента z.
ArcSinh[z] – возвращает обратный гиперболический синус комплексного аргумента z.
ArcTan[z] – возвращает арктангенс аргумента z.
ArcTanh[z] – возвращает обратный гиперболический тангенс комплексного аргумента z.
Ниже приведены примеры операций в непосредственном режиме с комплексными числами (см. рисунок 3.1):
Рисунок 3.1 – Пример операций с комплексными числами
Если ввести N[z1/0], то система выдаст следующее сообщение:
Итак, в этом случае система выдает сообщение об ошибке, но после него возвращает константу ComplexInfinity, означающую комплексную бесконечность.
Из последних примеров видно, что система Mathematica знает и использует основные соотношения между элементарными функциями. В двух последних примерах используются символьные преобразования с применением функции ComplexExpand (расширение выражений с комплексным аргументом).
Прямое и обратное z-преобразования функций широко используются при решении задач автоматического управления и обработке дискретных сигналов. Прямое z-преобразование последовательности f(n) в функцию комплексной переменной z задается выражением
.Обратное z-преобразование сводится к преобразованию комплексной функции f(z) в функцию f(z).
Поэтому в системе Mathematica 5.2 для осуществления z-преобразований в ядро включены следующие функции:
ZTransform[expr,n,z] — возвращает результат прямого z-преобразования для выражения expr, представленного как функция целочисленного аргумента n;
InverseZTransform[expr,n,z] — возвращает результат обратного z-преобразования для выражения expr, представленного как функция целочисленного аргумента n.
Приведем примеры выполнения z-преобразований в системе Mathematica 5.2 (см. рисунок 3.2):
Рисунок 3.2 – Пример выполнения z-преобразований
Обратите внимание на то, что для первой функции (Cos[n]) результат получен через комплексные экспоненты, и лишь упрощение функцией FullSimplify позволило получить его без «фокусов».
Пусть R(x,y) – рациональная функция двух действительных переменных. Тогда справедливы равенства
Действительно, замена
переводит отрезок [0, 2π] в окружность .При этом:
В результате имеем формулу, сопоставляющую интеграл от действительной переменной с интегралом по замкнутой кривой от функции комплексного переменного:
.Утверждение: Пусть R(x) – рациональная функция, не имеющая особых точек на действительной оси, для которой точка z, равная бесконечности, - нуль порядка не ниже первого (т.е. (m-n) больше или равно 1). Тогда справедливы формулы:
Пример 1. Вычислить интеграл
.Положим
, тогда . Вычислим , откуда , а исходный интеграл запишется в виде:Так как при
, подинтегральная функция внутри круга имеет один полюс первого порядка в точке z=a.Поскольку
, будем иметь .В пакете Mathematica (см. рисунок 3.3):
Рисунок 3.3 – Пример вычисления интеграла
Пример 2. Вычислить интеграл
.Рассмотрим функцию
.Она является аналитической функцией, имеющей полюсы второго порядка в точках
и в бесконечности имеет нуль второго порядка.Согласно формуле (1.1) имеем:
В пакете Mathematica (см. рисунок 3.4):
Рисунок 3.4 – Пример вычисления интеграла