Специальные функции в системе Maple

Автор: Пользователь скрыл имя, 07 Мая 2013 в 13:33, реферат

Краткое описание

Maple — программный пакет, система компьютерной алгебры. Является продуктом компании Waterloo Maple Inc., которая с 1984 года выпускает программные продукты, ориентированные на сложные математические вычисления, визуализацию данных и моделирование.
Система Maple предназначена для символьных вычислений, хотя имеет ряд средств и для численного решения дифференциальных уравнений и нахождения интегралов. Обладает развитыми графическими средствами. Имеет собственный язык программирования, напоминающий Паскаль.

Файлы: 1 файл

Дипломная.docx

— 634.82 Кб (Скачать)

Как правило, если аргументом функции  является фундаментальная константа, целое или рациональное число, то функция выводится с таким  аргументом без получения результата в форме действительного числа  с плавающей точкой. Например:

Нетрудно заметить, что есть и  исключения из этого правила –  например, на экране монитора ехр(1) будет выведено как константа е, а значение функции arcsin(2) все же вычислено и результат получен как 1/6 от константы Pi. Вообще говоря, если результат выражается через фундаментальную математическую константу, то он будет вычислен и представлен ею. В противном случае функция с целочисленным и рациональным аргументом или с константой просто повторяется в строке вывода в установленном для этой строки формате.

Для получения подробной информации о некоторой произвольной функции <f> достаточно задать команду:

?<f>

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

 

 

Специальные математические функции

Специальные математические функции обычно являются решениями  линейных дифференциальных уравнений  различного типа и выражаются в виде интегралов, не представимых через  элементарные функции. Maple 7 имеет практически полный набор таких функций. Их представления можно найти в справочной литературе, а также в справочной базе данных Maple. В связи с этим ограничимся приведением названий наиболее важных специальных функций:

  • AiryAi (Bi) – функции Эйри;
  • AngerJ – функция Ангера;
  • bernoulli – числа и полиномы Бернулли;
  • Bessel I (J, К, Y) – функции Бесселя разного рода;
  • Beta – бета-функция;
  • binomial – биноминальные коэффициенты;
  • Chi – интегральный гиперболический косинус;
  • Ci – интегральный косинус;
  • csgn – комплексная сигнум-функция;
  • dilog – дйлогарифм;
  • Dirac – дельта-функция Дирака;
  • Ei – экспоненциальный интеграл;
  • EllipticCE (CK, CPi, E, F, К, Modulus, Nome, Pi) – эллиптические интегралы;
  • erf – функция ошибок;
  • erfc – дополнительная функция ошибок;
  • euler – числа и полиномы Эйлера;
  • FresnelC (f, g, S) – интегралы Френеля;
  • GAMMA – гамма-функция;
  • GaussAGM – арифметико-геометрическое среднее Гаусса;
  • HankelHl (H2) – функции Ганкеля;
  • harmonic – частичная сумма серии гармоник;
  • Heaviside – функция Хевисайда;
  • JacobiAM (CN, CD, CS, ON, DC, DS, NC, NO, NS, SC, SO, SN) – эллиптические функции Якоби;
  • JacobiThetal (2, 3, 4) – дзета-функции Якоби;
  • JacobiZeta – зет-функция Якоби;
  • KelvinBer (Bei, Her, Hei, Ker, Kei) – функцииКельвина;
  • Li – логарифмический интеграл;
  • lnGAMMA – логарифмическая гамма-функция;
  • MeijerG – G-функция Мейджера;
  • pochhammer – символ Похгамера;
  • polylog – полилогарифмическая функция;
  • Psi – дигамма-функция;
  • Shi – интегральный гиперболический синус;
  • Si – интегральный синус;
  • Ssi – синусный интеграл смещения;
  • StruveH (L) – функции Струве;
  • surd – неглавная корневая функция;
  • LambertW – W-функция Ламберта;
  • WeberE – Е-функция Вебера;
  • WeierstrassP – Р-функция Вейерштрасса;
  • WeierstrassPPrime – производная Р-функции Вейерштрасса;
  • WeierstrassZeta – зета-функция Вейерштрасса;
  • WeierstrassSigma – сигма-функция Вейерштрасса;
  • Zeta – зета-функция Римана и Гурвица.

Ввиду большого числа специальных  функций и наличия множества  примеров их вычисления в справочной системе Maple ограничимся несколькими примерами вычисления наиболее распространенных специальных функций.

 

Практическая  часть.

AiryAi (Bi) – функции Эйри;

Запрос последовательности

AiryAi(x)

AiryBi(x)

AiryAi (n, x)

AiryBi (n, x)

n – алгебраическое выражение (заказ или индекс)

x – алгебраическое выражение (аргумент)

Airy волновые функции AiryAi и AiryBi являются линейно независимыми решениями для w в уравнении . Определенно,

где 0F1 является обобщенной гипергеометрической функцией

Две формы аргумента используются, чтобы представлять производные, таким  образом, AiryAi(1, x) = D(AiryAi)(x) and AiryBi(1, x) = D(AiryBi)(x).

Отметьте, что все высшие производные  могут быть написаны с точки зрения 0-ых и 1-ых производных.

Отметьте также это  3-ья производная оцененный в , а не 3-ья производная .

Airy функции связаны с Бесселевыми функциями заказа для

>

>

>

>

>

>

>

>

>

>

>

>

>

>

 

 

AngerJ – функция Ангера;

WeberE – Е-функция Вебера

 

Запрос последовательности

AngerJ (v, x)

WeberE (v, x)

 

v – алгебраическое выражение (заказ или индекс)

x – алгебраическое выражение (аргумент)

 

Функция Ангера AngerJ(v,x) решает неоднородное Бесселевое уравнение

 

Функция Вебера WeberE(v,x) решает неоднородное Бесселевое уравнение

 

>

>

>

>

>

>

>

>

 

 

 

 

 

По их подобию читатель может опробовать в работе и другие специальные функции.

На рис. 6.4 даны примеры  применения ряда специальных функций. Обратите особое внимание на первый пример. Он показывает, как средствами системы  Maple 7 задается определение функций Бесселя. Показано, что функции Бесселя являются решениями заданного на рис. 6.4 дифференциального уравнения второго порядка. Maple 7 способна вычислять производные и интегралы от специальных функций.

Обратные тригонометрические функции 
К обратным тригонометрическим относятся следующие функции:  

  • arcsin — арксинус;  
  • arccos — арккосинус;  
  • arctan — арктангенс;  
  • arcsec — арксеканс;  
  • arccsc — арккосеканс;  
  • arccot — арккотангенс.

Примеры вычислений:

К этому классу функций  принадлежит еще одна полезная функция: arctan(y.x) = argument(x+I*y)  
Она возвращает угол радиус-вектора в интервале от -Pi до Pi при координатах конца радиус-вектора х и у (см. пример ниже):

Графики ряда обратных тригонометрических функций показаны.  
Гиперболические функции  
Гиперболические функции представлены следующим набором:  

  • sinh — гиперболический синус;  
  • cosh — гиперболический косинус;  
  • tanh — гиперболический тангенс;  
  • sech — гиперболический секанс;  
  • csch — гиперболический косеканс;  
  • coth — гиперболический котангенс.

Примеры применения гиперболических  функций представлены ниже:

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

ПРИМЕЧАНИЕ  
 В отличие от тригонометрических гиперболические функции не являются периодическими. Функция гиперболического тангенса имеет симметричную кривую с характерными ограничениями. Поэтому она широко используется для моделирования передаточных характеристик нелинейных систем с ограничением выходного параметра при больших значениях входного параметра.  
Обратные гиперболические функции 
Как и тригонометрические функции, гиперболические имеют свои обратные функции:  

  • arcsinh — гиперболический арксинус;  
  • arccosh — гиперболический арккосинус;   
  • arctanh — гиперболический арктангенс;  
  • arcsech — гиперболический арксеканс:   
  • arccsch — гиперболический арккосеканс:   
  • arccoth — гиперболический арккотангенс. 

Примеры применения:

Графики обратных гиперболических синуса, косинуса и тангенса представлены снизу.  
Степенные и логарифмические функции 
К степенным и логарифмическим относятся следующие функции системы Maple 15:  

  • ехр — экспоненциальная функция;  
  • ilog10 — целочисленный логарифм по основанию 10 (возвращает целую часть от логарифма по основанию 10);  
  • ilog — целочисленный логарифм (библиотечная функция, возвращающая
  • целую часть от натурального логарифма);  
  • n — натуральный логарифм;  
  • log — логарифм по заданному основанию (библиотечная функция);  
  • log10 — логарифм по основанию 10;  
  • sqrt — квадратный корень. 

Примеры применения:

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

Функции с элементами сравнения 
В алгоритме вычисления ряда функций заложено сравнение результата с некоторым опорным значением. К таким функциям относятся:  

  • abs — абсолютное значение числа;  
  • ceil — наименьшее целое, большее или равное аргументу;  
  • floor — наибольшее целое, меньшее или равное аргументу;  
  • frac — дробная часть числа;  
  • trunc — целое, округленное в направлении нуля;  
  • round — округленное значение числа;  
  • signum (х) — знак х (-1 при х < 0, 0 при х = 0 и +1 при х > 0).

Для комплексного аргумента  х эти функции определяются следующим  образом:  

  • tranc(x) = trunc(Re(*)) + I*trunc(IM(x));  
  • round(x) = round(Re(.r)) + I*round(Im(x));  
  • frac(x) — frac(Re(*)) + I*hac(Im(x)).

Для введения определения значения floor(x) от комплексного аргумента прежде всего запишем а = Re(x) — fооr(Re(x)) и b = Im(x) — floor(Im(x)). Тогда flооr(x) = floor(Re(x)) + I*floor(Im(x)) + X, где

Наконец, функция ceil для комплексного аргумента определяется следующим образом:  
cell(x) = -fооr(-х) 

Примеры применения:

Функции для работы с векторами и матрицами

Элементы векторов и матриц

Элементы векторов и матриц являются индексированными переменными, то есть место каждого элемента вектора  определяется его индексом, а у  матрицы – двумя индексами. Обычно их обобщенно обозначают как i (номер строки матрицы или порядковый номер элемента вектора) и j (номер столбца матрицы). Допустимы операции вызова нужного элемента и присваивания ему нового значения:

  • V[1] – вызов i-го элемента вектора V;
  • M[i, j] – вызов элемента матрицы М, расположенного на i-й строке в j-м столбце;
  • V[i]: = x – присваивание нового значения х i-му элементу вектора V;
  • M[i,j]: = x – присваивание нового значения х элементу матрицы М.

Преобразование списков  в векторы и матрицы

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

Однако, используя функцию преобразования данных convert, можно преобразовывать одномерные списки в векторы, а двумерные – в матрицы.

Функция type используется в следующих формах:

  • type(V, vector) – тестирует аргумент V и возвращает true, если V – вектор, и false в ином случае;
  • type(M,matrix) – тестирует аргумент М и возвращает true, если М – матрица, и false в ином случае.

Здесь параметры vector и matrix используются для указания того, какой тип объекта проверяется.

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

Функции для работы со строковыми данными

Контроль типа строковых  данных

Напоминаем, что строковые данные представляются совокупностью любых  символов в обратных апострофах, например *Привет* или `2+2`. Для контроля объектов на принадлежность к строковым данным служит функция type с параметром string:

Из приведенных примеров видно, что контроль строкового типа осуществляется не очень строго, – в частности, единичные символы рассматриваются как строковые и без заключения их в апострофы. В строках могут быть символы кириллицы, но гарантии в правильности обработки таких символов нет – надо мириться с тем, что Maple – англоязычная программа и ее возможности в поддержке других языков ограниченны.

Интерактивный ввод строк

Для интерактивного ввода строк  можно использовать функцию readline(filename), задав в качестве имени файла terminal или опустив имя файла. В этом случае ввод строки осуществляется с клавиатуры компьютера:

> s: = read1ine();

> Привет мой друг!

s: = "Привет мой друг!"

Примечание 
Полезно обратить внимание на то, что запрос в ходе интерактивного ввода может быть сделан на русском языке (если установленный для запросов шрифт имеет символы кириллицы). Нужно также, чтобы и шрифт строки вывода содержал кириллицу, иначе в строке вывода будет типичная "абракадабра" – смесь непонятных символов.

Информация о работе Специальные функции в системе Maple