Исследование возможностей Мар1е 7 при вычислении интегралов

Автор работы: Пользователь скрыл имя, 11 Ноября 2014 в 17:32, курсовая работа

Описание работы

Целью курсовой работы является выявление преимуществ работы с использованием Maple при вычислении интегралов.
Задачи исследования:
1. Изучение учебно-методической литературы по компьютерному математическому пакету Мар1е 7;
2. Рассмотреть функциональные возможности системы Maple при вычислении интегралов.
Практическая значимость полученных результатов заключается в том, что описана роль компьютерных математических пакетов в развитии умений программирования.

Содержание работы

Введение………………………………………………………………………... 3
1. Первое знакомство с системой Maple 7.………………………………..…4
1.1. Краткая характеристика систем класса Maple ……………………....4
1.2. Интерфейс системы Maple 7………………………………………….8
1.3. Основы работы с Maple 7 в диалоговом режиме…………………….11
2. Вычисление интегралов……………………………………………………...19
2.1. Вычисление неопределенных интегралов………………………..19
2.2. Конвертирование и преобразование интегралов……………………...20
2.3. Вычисление определенных интегралов……………………………...21
2.4. Каверзные интегралы и визуализация результатов интегрирования. 22
2.5. Интегралы с переменными пределами интегрирования…………….31
2.6. Вычисление кратных интегралов…………………………………….32
Заключение………………………………………………………………………34
Список литературы……………………………………………………………..35

Файлы: 1 файл

СОДЕРЖАНИЕ.docx

— 702.22 Кб (Скачать файл)

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

 Некоторые  пользователи версии системы  Maple V R5 наблюдали, что русская буква «я» в конце программного комментария (он вводится после символа #) вела к зависанию программы, что требовало ее перезагрузки. В Maple 7 этот недостаток устранен:

> #Буква "я" в конце комментария уже не  вызывает зависания 

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

Управление с помощью мыши

Для управления состоянием ячеек можно использовать контекстное меню, появляющееся при нажатии правой кнопки мыши. Если установить указатель мыши на входной ячейке, то это меню будет содержать три команды:

Standard Math — включает и выключает показ входных выражений в естественной математической форме;

Maple Input  — управляет видом ячейки ввода (математический/текстовый);

Execute — включает выполнение ячейки.

Также в зависимости от состояния буфера обмена и наличия выделения в контекстном меню могут присутствовать команды  Cut, Copy и Paste.

Левая кнопка мыши может использоваться для передачи фокуса управления или переноса маркера ввода, а также выделения частей документа.

Примеры задания функции пользователя и построения ее графика:

На рис. 1.12 показано, как задается функция пользователя f(x) с одним параметром  х. Нетрудно заметить, что параметр указывается в скобках после имени функции а для записи выражения функции используется знак присваивания := (двоеточие со знаком равенства). Для построения графика функции f (х) используется функция  plot в форме:

Нетрудно заметить, что при наличии нескольких параметров функции (в нашем случае их два) они разделяются запятыми. Выражение  х=-15. .15 задает, во-первых, указание, относительно какой переменной строится график, а во-вторых, говорит, в какой области значений меняются значения этой переменной — в нашем случае от -15 до +15. Шаг изменения переменной выбирается автоматически в зависимости от размеров и вида графика.

Пример построения трехмерного графика поверхности:

Столь же просто, как и график обычной функции в декартовой системе координат, можно построить график трехмерной поверхности. Это показано на примере рис. 1.13. В данном случае задана функция двух переменных  z(x,y) :=sin(x*y) и ее график строится с использованием графической функции plot3d. Правила задания пределов изменения переменных  х и у соответствуют описанным выше.

Рис. 1.13. Построение графика трехмерной поверхности

Глава 2. Вычисление интегралов


2.1. Вычисление неопределенных интегралов

 

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

Для вычисления неопределенных и определенных интегралов Maple V предоставляет следующие функции:

int(f.x); int(f.x-a..b); inUf.x-з. .b.continuous);

Int(f.x); InUf.x-а..о); Int(f.x-a. .b.continuous);

Здесь f — подынтегральная функция, x — неременная, по которой выполняются вычисления, а и b — нижний и верхний пределы интегрирования, continuous — необязательное дополнительное условие.

Maple 7 старается найти аналитическое значение интеграла с заданной подынтегральной функцией. Если это не удается (например, дли «не берущихся интегралов), то возвращается исходная запись интеграла. Для вычисления определенного интеграла надо использовать функцию evalf(int(f,x=a. .b)). Ниже приведены примеры вычисления интегралов:

> Int(a*x^n,x):

∫axndx=

> Int( dx=Si(x)

> Int(ln(x)^3.x);

∫ln(x)3dx

> value(%);

ln(x)3x-3xln(x)2+6xln(x)-6x

>Int(x^5*exp(-x),x);

∫x5e(-x)dx

> value(%);

-x5e(-x)-5x4e-x-20x3 e-x-60x2 e-x-120x e-x-120x e-x-120 e-x

>Int(1/x,x)=int(1/x,x);

Обратите внимание, что в аналитическом представлении неопределенных интегралов отсутствует произвольная постоянная С. Не следует забывать о ее существовании. Для вычисления кратных интегралов (двойных, тройных и т.д.) следует применять функцию Int (или Int) внутри такой же функции, делая это столько раз, сколько нужно. В отличие от функции дифференцирования для функции интегрирования нельзя задавать подынтегральные функции в виде списка или множества.

Возможно вычисление сумм интегралов и интегралов сумм, а также интегралов от полиномов:

> Sum(Int(x^I,x),i=l..5);

> value(%);

> Int(Sum(x^I,i=1..5),x);

> value(%);

>P(x):=ax3+bx2+cx+d

>Int(P(x),x);

2.2. Конвертирование  и преобразование интегралов

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

>int(exp(sin(x)).x);

∫esin(x)dx

>convert(taylor(%,x=0.8).polynom);

x+ x2+ x3- x5- x6- x7+ x8

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

Система Maple непрерывно совершенствуется. Например, в Maple V R4 интеграл с подынтегральной функцией ехр(л*4) не брался, а система Maple 7 с легкостью берет его:

>int(exp(x^4).x)=int(exp(x^4).x):

∫e(x )dx=- (-1)(3/4)( )

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

>simplify(%);

∫e(x )dx=

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

2.3.Вычисление определенных интегралов

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

Определенный интеграл удобно трактовать как площадь, ограниченную кривой f(x), осью абсцисс и вертикалями с координатами, равными а и b. При этом площадь ниже оси абсцисс считается отрицательной. Таким образом, значение определенного интеграла — это число или вычисляемое выражение.

Для вычисления определенных интегралов используются те же функции int и Int. в которых надо указать пределы интегрирования, например х=а..b, если интегрируется функция переменной x. Это поясняется приведенными ниже примерами:

> Int(sin(x)/x,x=a..b)=int(sin(x)/x,x=a..b);

> Int(sin(x)/x,x=0..1.)=int(sin(x)/x,x=0..1.);

>int(x*ln(x),x=0..1)=int(x*ln(x),x=0..1);

>Int(x*exp(-x),x=0..infinity)=int(x*exp(-x),x=0..infinity);

>Int(1/(x^2+6*x+l2),x=-infin1ty..infinity);

>value;

Как видно из этих примеров, среди значений пределов может быть бесконечность, обозначаемая как infinity.

2.4. Каверзные интегралы и визуализация результатов интегрирования

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

В Соросовском образовательном журнале (№ 6. 2000, с. 110) приводятся не совсем удачные примеры вычислений определенного интеграла с применением системы Mathematica, при которых якобы встречаются настолько большие трудности, что они не под силу любому калькулятору или компьютеру. При некоторых попытках вычисления этого интеграла он давал нулевое значение.

Но Maple 7 (кстати, как и Mathematica 4) с легкостью берет этот интеграл и позволяет сразу и без какой-либо настройки вычислить для него как точное, так и приближенное значение:

>Int(x^20*exp(-x),x=0..1)=int(x^20*exp(-x),x=0..1);

>evalf(%,30);

.0183504676972562063261447542317 = .01835046770

Хотя первое из решений является самым кратким и, скорее всего, единственным точным решением, оно может и должно насторожить опытного пользователя. Дело в том, что в полученном выражении фигурируют большие числа, и потому для правильного приближенного решения (в виде вещественного числа в научной нотации) нужно заведомо использовать аппарат точной арифметики и ни в коем случае не полагаться на погрешность, заданную по умолчанию, — вот в чем основная ошибка в упомянутой статье.

Именно поэтому левая и правая части приближенного решения (выполненного с точностью до 30 цифр) заметно различаются. Знак равенства между ними вызывает чувство протеста у истинных математиков. На самом деле, не надо забывать, что знак равенства здесь был введен просто как текстовый комментарий, — вы можете попробовать сами заменить его на более приемлемый здесь знак приближенного равенства. Любопытно, что предшествующая версия Maple 6 при задании погрешности по умолчанию вычисляла значение этого интеграла также как 0, тогда как Maple 7 «поумнела» уже настолько, что дает значение 0,01835046770 даже в этом случае.

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

> int(x^20*exp(-x),x);

- x20 e(-x) -20x19 e(-x) -380x 18e(-x) -6840x17 e(-x)- 116280x16 e(-x)

  • 1860480х15 е(-x) - 27907200 х14 е(-x) – 390700800x13 e(-x)
  • 5079110400 x12e(-x)- 60949324800 x11e(-x)670442572800 x10e(-x)
  • 6704425728000x9e(-x) -60339831552000 х8 е(-x) - 482718652416000 x7 е(-x)
  • 3379030566912000 x6e(-x)-20274183401472000 x5е(-x)
  • 101370917007360000x4е(-x) – 405483668029440000x3 е(-x)
  • 1216451004088320000 х2 е(-x) - 2432902008176640000 х е(-x)
  • 2432902008176640000 е(-x)

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

Продолжим изучение данного «каверзного» интеграла. Опробуем силы Maple 7 на интеграле более общего вида, где конкретный показатель степени заменен на обобщенный - п. Здесь нас ожидает приятный сюрприз - Maple 7 с легкостью выдает аналитическое решение для данного определенного интеграла:

>y:=(n)->int(x^n*exp(-x),x=0..1);

y:=n→

>y(n);

>y(20);

-6613313319248080001e(-1)+2432902008176640000

>evalf(%,30);

.01835046770

y(20.);

0.

Однако радоваться несколько преждевременно. Многие ли математики знают, что это за специальная функция - WhittakerM? Студенты, любящие подшучивать над своим профессором, могут попробовать спросить у него об этом. Скорее всего, профессор стушуется, а потом будет долго копаться н литературе, прежде чем найдет ее определение и сможет разъяснить, что это такое. Но хуже другое — Maple 7 при конкретном п = 20 даст грубо неверное решение — 0 (почему — уже объяснялось). Забавно, что при этом сама по себе функция WhittakerM вычисляется для п - 20 без проблем:

>WhittakerM(10.10.5.1);

.6353509348

А теперь присмотритесь к новому результату вычисления злополучного интеграла. Оказывается, он уже не содержит больших чисел, свойственных прямому решению! Зная значение WhittakerM с погрешностью но умолчанию, можно уверенно вычислить приближенное численное значение интеграла с топ же погрешностью, уже не прибегая к арифметике высокой точности:

> (exp(-.5)*WhttakerM(10.10.5.1))/21;

.01835046770

Итак, мы вычислили нужный интеграл несколькими разными способами. В этом и проявляется могущество современной математики, достойно представленной такими системами, как Maple 7. Заинтересованный читатель может попытаться найти еще ряд методов решения данного интеграла и преуспеть в этом! Мы же как торжество Maple 7 приведем график зависимости значении данного интеграла от показателя степени п при его изменении от 0 до 50 (рис. 8.1). Надо ли говорить о том, что полученный результат имеет куда более важное значение» чем вычисление нашего злополучного интеграла при конкретном п=20? А плавный ход графика показывает, что в вычислении данного интеграла нет никаких признаков неустойчивости решения при изменении п, если соблюдать правило выбора погрешности вычислений.

Информация о работе Исследование возможностей Мар1е 7 при вычислении интегралов