Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Курсовая работа: Дослідження чисельних методів інтегрування

Название: Дослідження чисельних методів інтегрування
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 11:33:10 13 сентября 2010 Похожие работы
Просмотров: 218 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Зміст

Вступ

1. Теоретичні відомості

2. Алгоритми методів

3. Опис програми

3.1 Вибір інструментальних засобів

3.2 Вхідні та вихідні дані

3.3 Структура програми

3.4 Інструкція користувачеві

4. Аналіз результатів розрахунку

Висновки

Література

Додатки


Вступ

Сучасний світ неможливо уявити без використання комп’ютерних технологій. Зараз комп’ютер використовується у багатьох сферах людського життя, але на початку свого розвитку ЕОМ створювалась для складних інженерних розрахунків. Зараз обчислення залишаються одним із основних видів застосування ЕОМ. Хоча комп’ютер дуже швидко виконує прості арифметичні дії, без спеціальних програм він не в змозі проводити складні обчислення. Тому постає задача алгоритмізувати поставлене завдання, тобто перевести його в зрозумілу для ЕОМ форму.

В багатьох задачах, що пов’язані з аналізом, ідентифікацією, оцінкою якості різних засобів та систем автоматики та управління, виникає необхідність обчислення певних інтегралів.


1. Теоретичні відомості

Визначений інтеграл – чисельно рівний площі, обмеженою частиною графіка функції y = f(x), віссю Ох і ординатами f(a) і f(b). Якщо крива перетинає вісь Ох один або декілька разів всередині інтервалу, то інтеграл чисельно рівний алгебраїчній сумі площ, що знаходяться по кожну сторону вісі Ох[6].

Чисельне інтегрування - являє собою стійкий процес і в протиставлення чисельному диференціюванню зменшує дію похибок у початкових даних на кінцевий результат. В основу чисельного інтегрування покладено наближене обчислення площини під кривою, яка описується підінтегральною функцією інтеграла:

Визначений інтеграл - являє собою площину, обмежену кривою f(x), віссю Х та прямими x=a; x=b[6].

Класифікація методів рішення поставленої задачі

Інженеру часто приходиться обчислювати визначений інтеграл чисельними методами. Це буває у тих випадках, коли або не вдається виразити інтеграл у замкненій формі, або вона настільки складна, що простіше скористатися чисельним інтегруванням.

Отже основною задачею є обчислення інтегралу виду:

де a і b - нижня та верхня межа інтегрування; f(x) - неперервна функція, відносно якої шукають інтеграл, на відрізку [a,b].

Суть більшості методів обчислення визначених інтегралів заключається в заміні підінтегральної функції f(x) апроксимуючою функцією f(х), для якої можна легко записати первісну в елементарних функціях, тобто

де S - наближене значення інтеграла; R - похибка обчислення інтеграла[2].

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

Методи Ньютона-Котеса засновані на поліноміальній апроксимації підінтегральної функції. Методи цього класу відрізняються один від одного степенем використовуваного полінома, від якого залежить кількість вузлів, де необхідно обчислити функцію f(x). Алгоритми методів прості і легко піддаються програмній реалізації[1].

Сплайнові методи базуються на апроксимації підінтегральної функції сплайнами, що являють собою кусочний поліном. Методи розрізняють по типу вибраних сплайнів. Такі методи є сенс використовувати в задачах, де алгоритми сплайнової апроксимації застосовуються для обробки даних.

В методах найвищої алгебраїчної точності (методи Гаусса-Кристоффеля та інші) використовують не рівновіддалені вузли, розташовані по алгоритму, що забезпечує мінімальну похибку інтегрування для найбільш складних функцій при заданій кількості вузлів. Методи розрізняються способами вибору вузлів і широко використовуються для інтегрування, в тому числі вони можуть бути застосовані і для невласних інтегралів[3].

В методах Монте-Карло вузли вибираються за допомогою датчика випадкових чисел, відповідь носить ймовірний характер. Методи виявляються ефективними при обчисленні великої кратності.

2. Алгоритми методів

Для обчислення інтегралу за формулою Сімпсона потрібно спочатку розбити проміжок інтегрування x є (a,b) на рівні інтервали величиною h (крок інтегрування), потім знаходять вузли інтерполяції xi за формулою

xi=xi-1+h або xi=x0+ih=a+ih,

після чого підставляють отримані значення у формулу (3). В кінці оцінюють похибку. У додатку А приведено алгоритм методу Сімпсона.

Для обчислення значення інтегралу методом Чебишева обирають порядок методу n і знаходять значення ti. Після цього розбивають інтервал інтегрування на k проміжків і знаходять значення інтегралу для кожного проміжку (j=1,…,k), після чого сумують отримані значення

k

j=1
I=∑Ij

Значення абсцис xi всередині кожного інтервалу знаходять за формулою

xi=(aj+1+aj)/2+ti(aj+1-aj)/2,

де aj=a+ih, a0=a, ak=b.

Ij знаходять за формулою (1.5). В кінці оцінюють похибку. Алгоритм методу Чебишева приведено у додатку А.


3. Опис програми

3.1 Вибір інструментальних засобів

Для написання програми, яка обчислює інтеграли заданими методами, було обрано компілятор Тurbo C++. Даний компілятор був обраний тому, що мова програмування C++ дуже проста і в той же час сам компілятор являється потужною сучасною системою програмування. Найважливішим аргументом для вибору даного компілятора, є тип дійсних чисел extended, який має дуже високу точність (до 19 цифри), якої немає в жодному іншому широковживаному компіляторі. Так як різниця між деякими числами, отриманими в результаті роботи програми, дуже мала і іноді помітна починаючи з дев’ятого знаку, то стає очевидним що потрібна точність саме такого порядку.

3.2 Вхідні та вихідні дані

Для розробленої програми вхідними даними є межі інтегрування a та b, а також множники біля змінної інтегрування x, c та d. Всі дані мають тип extended.

Вихідними даними являється чисельне значення інтегралу, обчислене методами Трапеції та Чебишева, причому кожним методом інтеграл обчислюється з 3 кроками. Також вихідними даними являються похибки, обчислені для кожного знайденого значення.

3.3 Структура програми

Програма, написана для вирішення поставленої задачі, містить кілька підпрограм. Спочатку програма виводить загальні відомості про своє призначення, потім пропонує змінити деякі параметри, після чого виконує обчислення інтегралу згаданими вище методами з кроками 0.1, 0.2 та 0.5. Підінтегральна функція для зручності міститься у функції f. Для обчислення інтегралу методом Сімпсона використовується функція Simpson, що приймає в якості параметрів межі інтегрування та крок обчислення. Для обчислення інтегралу методом Чебишева використовується дві функції: Chebushev та difChebushev. Функція Chebushev викликається безпосередньо з основної програми. Вона ділить межі інтегрування на проміжки, за величиною рівні кроку h, викликає функцію difChebushev для обчислення інтегралу на кожному проміжку, після чого сумує отримані значення, вираховуючи значення інтегралу. Потім основна програма виводить отримані значення на монітор, після чого для кожного значення вираховує похибку і виводить її на монітор.

Блок-схему програми наведено в додатку Б.

3.4 Інструкція користувачеві

Для запуску програми необхідно запустити на виконання файл program.exe.

Розроблена програма інтуїтивно зрозуміла користувачеві. Перша дія, яку потрібно виконати користувачеві – проглянути параметрі та при необхідності в момент, коли програма запропонує змінити деякі параметри, натиснути клавішу ‘Y’ та ввести потрібні значення параметрів. Після цього програма виводить на монітор обчислені значення інтегралу. Користувачеві потрібно лише використати ці значення в своїх цілях. В кінці програма пропонує або вихід, або перезавантаження для повторного розрахунку. Якщо користувачеві потрібно обчислити ще один інтеграл, необхідно натиснути клавішу ‘R’.

4. Аналіз результатів розрахунку

Як видно з похибок програма дає досить точні результати обчислень. Отримані дані підтверджують, що обчислення методом Чебишева дають результат, який за точністю на кілька порядків перевищує точність методу Трапеції. Значення інтегралу, обчисленого за допомогою програми Mathcad, рівне – 2,681.

Нижче наведено результат роботи програми.

Висновки

В ході виконання даної курсової роботи було розглянуто методи чисельного інтегрування, а саме: Чебишева та Трапеції. Було досліджено вказані методи інтегрування та порівняно їх точності, розроблено програму на компіляторі Turbo C++, яка знаходить чисельне значення вказаного інтегралу. Таким чином були набуті практичні навички програмування задач, які ставить курс «Обчислювальні методи та застосування ЕОМ».

Література

1. Квєтний Р.Н. Методи Комп’ютерних обчислень. - Навчальний посібник. - Вінниця: ВДТУ, 2001. - с. 92

2. Волков Е. А. Численные методы. - М.: Наука, 1982. - с. 102.

3. Самарский А.А., Гулин А.В. Численные методы. - М: Наука, 1989. - с. 161.

4. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. - Численные методы. - М: Наука, 1987. - с. 83

Додатки

Додаток А

Алгоритми методів

Алгоритм методу Сімпсона


Алгоритм методу Чебишева


Додаток Б

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

Додаток В

Лістинг пргорами

{$N+,E+}

program integral;

uses CRT, graph;

const h1=0.1; h2=0.2; h5=0.5;

var

a, b, c, d, sharp: extended;

ch: char;

res: array [1..2,1..3] of extended;

delta: array [1..2,1..3] of extended;

i, j: integer;

label

lbl1;

{------------------------------------------------}

function f (x: extended): extended;

begin

f:=c*x/2-d/(exp(x)+exp(-x)); {sec(d*x)=d/(exp(x)+exp(-x))}

end;

{------------------------------------------------}

function Simpson (a, b, h: extended): extended;

var

I, x: extended;

j: integer;

begin

I:=0; x:=a+h; j:=0;

I:=f(a)+f(b);

while (x<b-0.000001) do

begin

j:=j+1;

if ((j mod 2) = 0) then

I:=I+2*f(x)

else

I:=I+4*f(x);

x:=x+h

end;

Simpson:=I*h/3;

end;

{------------------------------------------------}

function difChebushev (a, b: extended): extended;

const

t4:array [1..4] of extended = (-0.794654, -0.187592, 0.187592, 0.794654);

n=4;

var

x, I: extended;

j: integer;

begin

I:=0;

for j:=1 to 4 do

begin

x:=(a+b)/2+t4[j]*(b-a)/2;

I:=I+f(x);

end;

difChebushev:=I*(b-a)/n;

end;

{------------------------------------------------}

function Chebushev (a, b, h: extended): extended;

var

I, x: extended;

j: integer;

begin

j:=0; I:=0; x:=a;

while (x<b-0.000001) do

begin

I:=I+difChebushev(x,x+h);

x:=x+h;

j:=j+1;

end;

Chebushev:=I

end;

{------------------------------------------------}

BEGIN

lbl1:

clrscr;

c:=2.1; d:=6;

a:=0; b:=1;

textmode (3);

textcolor(15);

writeln ('Програма обчислюэ iнтеграл функцii cx/2-sec(dx) в межах вiд a до b двома');

writeln ('методами: Сiмпсона та Чебишева IV порядку');

writeln ('Поточнi значення параметрiв:');

writeln ('a=', a:2:6);

writeln ('b=', b:2:6);

writeln ('c=', c:2:6);

writeln ('d=', d:2:6);

writeln ('Ви хочете змiнити параметри a та b? (y - так, iнша клавiша - нi)');

ch:=readkey;

if ((ch='y') or (ch='Y')) then

begin

write ('a=');

readln (a);

write ('b=');

readln (b);

end;

writeln ('Ви хочете змiнити параметри c та d? (y - так, iнша клавiша - нi)');

ch:=readkey;

if ((ch='y') or (ch='Y')) then

begin

write ('c=');

readln (c);

write ('d=');

readln (d);

end;

clrscr;

writeln ('Пiдiнтегральна функцiя: ', c:2:6, 'x/2-sec(', d:2:6, 'x)');

writeln ('Межi iнтегрування - вiд ', a:2:6, ' do ', b:2:6);

writeln ('Iнтеграл обчислюэться методами Сiмпсона та Чебишева IV порядку з 3 кроками: ');

writeln (h1:2:6, ', ', h2:2:6, ' та ', h5:2:6);

writeln;

write ('Виконуються обчислення.');

res[2,1]:=Chebushev(a, b, h1);

write ('.........');

res[2,2]:=Chebushev(a, b, h2);

write ('.........');

res[2,3]:=Chebushev(a, b, h5);

write ('.........');

res[1,1]:=Simpson(a, b, h1);

write ('.........');

res[1,2]:=Simpson(a, b, h2);

write ('.........');

res[1,3]:=Simpson(a, b, h5);

writeln ('.........');

gotoxy (wherex, wherey-1);

writeln ('Нижче виведено результати обчислень двома методами з 3 кроками ');

writeln;

write ('Крок:');

gotoxy (13, wherey);

write ('h=', h5:2:6);

gotoxy (35, wherey);

write ('h=', h2:2:6);

gotoxy (57, wherey);

writeln ('h=', h1:2:6);

writeln ('Метод');

write ('Сiмпсона:');

gotoxy (13, wherey);

write ('I=', res[1][3]:5:14);

gotoxy (35, wherey);

write ('I=', res[1][2]:5:14);

gotoxy (57, wherey);

writeln ('I=', res[1][1]:5:14);

write ('Чебишева:');

gotoxy (13, wherey);

write ('I=', res[2][3]:5:14);

gotoxy (35, wherey);

write ('I=', res[2][2]:5:14);

gotoxy (57, wherey);

writeln ('I=', res[2][1]:5:14);

write ('Обчислення похибки.....');

if (a=0) and (b=1) and (c=2.1) and (d=6) then

sharp:=-2.07230756449615

else

sharp:=1.1*Chebushev(a, b, 0.0001);

for i:=1 to 2 do

for j:=1 to 3 do

begin

delta[i][j]:=abs(sharp-res[i][j]);

write('....');

end;

writeln;

gotoxy (wherex, wherey-1);

writeln(' ');

writeln ('Нижче виведено похибки обчислень');

writeln;

write ('Крок:');

gotoxy (13, wherey);

write ('h=', h5:2:6);

gotoxy (35, wherey);

write ('h=', h2:2:6);

gotoxy (57, wherey);

writeln ('h=', h1:2:6);

writeln ('Метод');

write ('Сiмпсона:');

gotoxy (13, wherey);

write ('I=', delta[1][3]:5:14);

gotoxy (35, wherey);

write ('I=', delta[1][2]:5:14);

gotoxy (57, wherey);

writeln ('I=', delta[1][1]:5:14);

write ('Чебишева:');

gotoxy (13, wherey);

write ('I=', delta[2][3]:5:14);

gotoxy (35, wherey);

write ('I=', delta[2][2]:5:14);

gotoxy (57, wherey);

writeln ('I=', delta[2][1]:5:14);

writeln;

writeln ('Для перезавантаження програми натиснiть клавiшу R');

writeln ('Для виходу натиснiть будь-яку клавiшу');

ch:=readkey;

if ch='r' then goto lbl1;

END.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:46:49 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:52:33 28 ноября 2015

Работы, похожие на Курсовая работа: Дослідження чисельних методів інтегрування

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(150867)
Комментарии (1841)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru