Численное интегрирование с использованием степенных рядов - Курсовая работа

бесплатно 0
4.5 109
Назначение программного средства и основные требования к нему. Построение математической модели для интегрирования функции с использованием степенных рядов. Разработка модульной структуры программы, описание процедур и функций, формирование алгоритма.


Аннотация к работе
Область, в которой функция представлена в виде суммы степенного ряда, называется областью разложения функции в степенной ряд. Если данная функция разлагается в степенной ряд, то разложение называется ряд Тейлора для функции f(x), а при x0=0 - ряд Маклорена. Одно из основных свойств степенного ряда выглядит так: То есть, разложив функцию в ряд Маклорена и проинтегрировав каждое слагаемое (пока не будет достигнута требуемая точность), а затем просуммировав их, мы проинтегрируем исходную функцию. Если нам необходимо проинтегрировать не функцию f(x), а, например, функцию f(x2), то в разложении функции f(x) следует заменить x на x2, а затем поступать аналогично. Разложим функцию cosx в степенной ряд: Проинтегрируем получившийся ряд: Так как программа производит вычисления с большим количеством знаков после запятой, она дает более точный результат, равный 0,841468.В данной курсовой работы были закреплены и систематизированы навыки программирования на языке Delphi, а так же навыки в разработке алгоритмов и в составлении программ для решения поставленной задачи.begin if (length(edit2.text)=0) or (length(edit5.text)=0) or (length(edit6.text)=0) or (length(edit7.text)=0) then MESSAGEDLG ("Заполните все поля", MTINFORMATION, [MBOK], 0); if ((form1.COMBOBOX1.ITEMINDEX=3) or (form1.COMBOBOX1.ITEMINDEX=4)) and (length(edit4.text)=0) then MESSAGEDLG ("Введите значение m", MTINFORMATION, [MBOK], 0); if (form1.COMBOBOX1.ITEMINDEX=3) or (form1.COMBOBOX1.ITEMINDEX=4) then begin try m:=STRTOFLOAT(Edit4.Text); if (form1.COMBOBOX1.ITEMINDEX=4) or (form1.COMBOBOX1.ITEMINDEX=5) or (form1.COMBOBOX1.ITEMINDEX=6) or (form1.COMBOBOX1.ITEMINDEX=7) then if ((k*a=1) or (k*a>=1)) then MESSAGEDLG ("Неверные пределы интегрирования", MTINFORMATION, [MBOK], 0); if ab then begin case form1.COMBOBOX1.

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

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

1.2 Основание для разработки

Программа разрабатывается на основе учебного плана кафедры «Информационные системы и технологии» по вычислительной математике.

1.3 Назначение программного средства

Основной функцией программного средства является численное интегрирование функции с использованием степенных рядов.

1.4 Требования к программному средству

Требования к функциональным характеристикам

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

Требования к надежности

Предусмотреть блокировку некорректных действий.

Требования к условиям эксплуатации

Носитель с программой должен эксплуатироваться в условиях с температурой от -5 до 500С и влажностью воздуха 10-80%.

Требования к составу и параметрам технических средств

Наличие ПК с клавиатурой. Необходимое пространство на жестком диске - около 400 Кб.

Требования к информационно-программной совместимости

Программа должна работать под управление операционной системы семейства DOS (версии не ниже 3.3), либо Win 32 (Windows 95, Windows 98, Windows 2000, Windows XP, Windows Vista Windows 7 и т. п.).

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

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

Пусть нам необходимо вычислить определенный интеграл некоторой функции f(x) на отрезке [a, b]. Введем понятие степенного ряда.

Степенной ряд - это функциональный ряд следующего вида: C0 C1(x-x0) C2(x-x0)2 … Cn(x-x0)n …

Здесь С0,С1,С2,…,Cn,… - некоторые фиксированные известные числа, которые называются коэффициентами степенного ряда, они образуют бесконечную последовательность. X0 - известное число (фиксированное) - центр разложения степенного ряда. X - переменная величина.

Для любого степенного ряда существует интервал (-R;R), в каждой внутренней точке которого ряд сходится, а в каждой внешней точке расходится.

Разложением функции y= f(x) в степенной ряд называется представление этой функции в некоторой области значений переменного x в виде суммы сходящегося степенного ряда. Область, в которой функция представлена в виде суммы степенного ряда, называется областью разложения функции в степенной ряд.

Если данная функция разлагается в степенной ряд, то разложение называется ряд Тейлора для функции f(x), а при x0=0 - ряд Маклорена.

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

Одно из основных свойств степенного ряда выглядит так:

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

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

Если нам необходимо проинтегрировать не функцию f(x), а, например, функцию f(x2), то в разложении функции f(x) следует заменить x на x2, а затем поступать аналогично.

Для основных элементарных функций составлены типовые разложения: 1) , 2) , 3) , 4) , при ; при .

5) , 6) , 7) , 8) , 9) , 10) , Для знакочередующихся рядов вычисление приближенного значения интеграла следует прекратить тогда, когда абсолютное значение очередного слагаемого станет меньше требуемой точности e. Для знакопостоянных рядов необходимо оценить сумму членов, отброшенных после n-ого слагаемого. Как только эта сумма станет меньше e, вычисления можно прекратить.

2.2 Ручное интегрирование функции с использованием степенных рядов

Найти интеграл , e=0,0001.

Решение.

Разложим функцию cosx в степенной ряд:

Проинтегрируем получившийся ряд:

Так как программа производит вычисления с большим количеством знаков после запятой, она дает более точный результат, равный 0,841468.

Вычислим данный интеграл вручную:

Таким образом, мы видим, что наш метод работает верно и точность вычислений соблюдается.

2.3 Разработка модульной структуры программы

Рис. 1. Модульная структура программы

2.4 Разработка алгоритма программы

Блок-схема программы

1. Основная программа - процедура Button1Click(Sender: TOBJECT).

Назначение: основная процедура программы, производит проверки на корректность данных и выводит результат работы программы. (см. Рис. 2).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 2.1.. Процедура Button1Click

Рис. 2.2. Процедура Button1Click

Рис. 2.3. Процедура Button1Click

2. Процедура proc0.

Назначение: считает значение интеграла функции e^(kx). (см. Рис. 3).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 3.1. Процедура Proc0

Рис. 3.2. Процедура Proc0

3. Процедура proc1.

Назначение: считает значение интеграла функций sin(kx), arctg (kx) (см. Рис. 4).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 4.1.. Процедура Proc1

Рис. 4.2. Процедура Proc1

4. Процедура proc2.

Назначение: считает значение интеграла функций cos(kx). (см. Рис. 5).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 5.1. Процедура Proc2

Рис. 5.2. Процедура Proc2

5.

Процедура proc4.

Назначение: считает значение интеграла функции (1 kx)^m. (см. Рис. 6).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 6. Процедура Proc4

6.

Процедура proc5.

Назначение: считает значение интеграла функций 1/(1 kx). (см. Рис. 7).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 7. Процедура Proc5

7. Процедура proc6.

Назначение: считает значение интеграла функции 1/(1-kx). (см. Рис. 8).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 8.1. Процедура Proc6

Рис. 8.2. Процедура Proc6

8. Процедура proc7.

Назначение: считает значение интеграла функции ln(1 kx). (см. Рис. 9).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 9 Процедура Proc7.

9.

Процедура proc9.

Назначение: считает значение интеграла функции sh(kx). (см. Рис. 10).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 10.1. Процедура Proc9

Рис. 10.2. Процедура Proc9

10. Процедура proc10.

Назначение: считает значение интеграла функции ch(kx). (см. Рис. 11).

Входные параметры: нет.

Выходные параметры: нет.

Рис. 11.1. Процедура Proc10

Рис. 11.2. Процедура Proc10

2.5 Описание структур, типов данных и глобальных переменных

На главной форме присутствуют объекты: Combobox1 - объект для осуществления выбора функции.

Edit2 - поле для ввода коэффициента k.

Edit4 - поле для ввода коэффициента m.

Edit5 - поле для ввода предела интегрирования a.

Edit6 - поле для ввода предела интегрирования b.

Edit7 - поле для ввода точности вычислений e.

Edit8 - поле для вывода ответа.

Button1 - кнопка «Ответ».

В программе используются следующие глобальные переменные: real fb1 - значение интеграла в точке b на предыдущем шаге. real fb2 - значение интеграла в точке b на текущем шаге. real fa1 - значение интеграла в точке a на предыдущем шаге. real fa2 - значение интеграла в точке a на текущем шаге. real k - коэффикиент перед x. real m - параметр функции. real a - верхний предел интегрирования. real b - нижний предел интегрирования. real e - точность. boolean f - определяет алгоритм вычиисления схожих функций.

2.6 Описание процедур и функций

1 Процедура Button1Click(Sender: TOBJECT).

Назначение: основная процедура программы, производит проверки на корректность данных и выводит результат работы программы. (см. Рис. 2).

Входные параметры: нет.

Выходные параметры: нет.

2. Процедура proc0.

Назначение: считает значение интеграла функции e^(kx). (см. Рис. 3).

Входные параметры: нет.

Выходные параметры: нет.

3. Процедура proc1.

Назначение: считает значение интеграла функций sin(kx), arctg (kx) (см. Рис. 4).

Входные параметры: нет.

Выходные параметры: нет.

4. Процедура proc2.

Назначение: считает значение интеграла функций cos(kx). (см. Рис. 5).

Входные параметры: нет.

Выходные параметры: нет.

5. Процедура proc4.

Назначение: считает значение интеграла функции (1 kx)^m. (см. Рис. 6).

Входные параметры: нет.

Выходные параметры: нет.

6. Процедура proc5.

Назначение: считает значение интеграла функции 1/(1 kx). (см. Рис. 7).

Входные параметры: нет.

Выходные параметры: нет.

7. Процедура proc6.

Назначение: считает значение интеграла функций 1/(1-kx). (см. Рис. 8).

Входные параметры: нет.

Выходные параметры: нет.

8. Процедура proc7.

Назначение: считает значение интеграла функции ln(1 kx). (см. Рис. 9).

Входные параметры: нет.

Выходные параметры: нет.

9. Процедура proc9.

Назначение: считает значение интеграла функции sh(kx). (см. Рис. 10).

Входные параметры: нет.

Выходные параметры: нет.

10. Процедура proc10.

Назначение: считает значение интеграла функции ch(kx). (см. Рис. 11).

Входные параметры: нет.

Выходные параметры: нет.

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

Список литературы
1. Delphi. Программирование на языке высокого уровня / В.В Фаронов - СПБ.: Питер, 2007. - 640 с.

2. Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.: Наука, 1970.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?