Розрахунок інтегралів за допомогою методів Гауса та Чебишева
Дослідження застосування різницевого методу для розв’язання крайової задачі. Дослідження проводиться на прикладі заданого диференційного рівняння. Дається опис методу та задачі в цілому. Застосування при обчисленні формули Чебишева і формули Гаусса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 03.12.2009 |
Размер файла | 157,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
7
Міністерство освіти і науки України
Вінницький державний технічний університет
Інститут ІНАЕКСУ
Факультет АКСУ
Кафедра АІВТ
Курсова робота з дисципліни :
«Обчислювальні методи та застосування ЕОМ»
Керівник професор, д.т.н._______________ Квєтний Р.Н.
Студент гр. 3АВ-0_______________ Кучерявий В.Р.
2003
Зміст
Завдання
1.Загальні відомості
2.Вибір методу інструментальних засобів вирішення задач
3.Функціональне призначення програми
4.Розробка та опис логічної частини програми
5.Керівництво оператору
6.Результати обчислень
Висновки
Література
Додаток А
Блок-схема алгоритму
Додаток Б
Лістинг програми
Анотація
В даній курсовій роботі проведено дослідження різницевого методу для розв'язання крайової задачі. Дослідження проводиться на прикладі заданого диференційного рівняння. Дається опис методу та задачі в цілому.
1. Загальні відомості
Формула Чебишева
Формула обчислення може бути приведена до вигляду
(1)
заміною змінних
При виведенні формули Чебишева використовуються такі умови:
* коефіцієнти АІ рівні між собою;
* квадратурна формула (1) точна для всіх поліномів до степеня п включно.
При цих умовах формула (1) має вигляд:
(2)
Для знаходженнявикористовуємо другу умову, згідно з якою формула (2) повинна бути точною для функції вигляду
Після підстановки цих функцій в (2) отримаємо систему рівнянь
Система рівнянь має розв'язок при п <8 та п=9. В цій обмеженій точності і полягає недолік формули Чебишева. Значеннядля різних п наведені в довідниках.
Для довільного інтервалу (а, b) формула (2) приймає вигляд
Де
Похибка обчислень за методом Чебишева:
Формула Гаусса
Формула Гаусса називається формулою найвищої алгебраїчної точності. Для формули розрахунку найвища точність може бути досягнута для поліномів степеня (2п - 1), які визначаються 2n постійними і (і=1,2,...,n).
Завдання полягає у визначенні коефіцієнтіві абсцис точок . Для знаходження цих постійних розглянемо виконання формули розрахунку для функцій вигляду
Враховуючи, що
отримаємо систему рівнянь
Ця система нелінійна, і її звичайне розв'язання пов'язане із значними обчислювальними труднощами. Але якщо використовувати систему для поліномів вигляду
де - поліном Лежандра, тоді її можна звести до лінійної відносно коефіцієнтів з заданими точками. Оскільки степені поліномів в співвідношенні не перевищують 2п -1, повинна виконуватися система (4) і формула (5) приймає вигляд
В результаті властивості ортогональності ліва частина виразу дорівнює 0, тоді
що завжди забезпечується при будь-яких значеннях в точках, які відповідають кореням відповідних поліномів Лежандра.
Підставляючи ці значення в систему і враховуючи перші n. рівнянь, можна визначити коефіцієнти.
Формула розрахунку, де - нулі полінома Лежандра, а
визначаються із системи, називається формулою Гаусса.
Значеннядля різних п наведені в довідниках.
Для довільного Інтервалу (а,b) формула для методу Гаусса приймає вигляд
Де
Оцінка похибки формули Гаусса з п вузлами визначається із співвідношення
де- максимальне значення похідної на ділянці
2.Вибір методу інструментальних засобів вирішення задач
Розв'язок даної задачі реалізовано на ЕОМ, причому було складено алгоритм та програму в середовищі Borland Delphi 7. Програма є досить простою та зрозумілою для користувача середнього рівня. Готову програму можна використовувати навіть на мінімальних системних параметрах процесора типу Intel P-100, 8 Мb ОЗУ та операційній системі MS-Windows 95.
3. Функціональне призначення
Розроблена програма дозволяє розрахувати вказаний інтеграл:
,
методами Чебишева та Гауса з кроками 0,1 і 0,05.
Результати виводяться у текстовій формі.
4. Розробка та опис логічної частини програми
В даній курсовій роботі було розроблено програмне забезпечення для розв'язання та дослідження заданого диференційного рівняння. Розвязок ведеться за різницевим алгоритмом. Кодування на мові Паскаль проводилося з застосуванням інтуїтивно-зрозумілих назв змінних та процедур. Також відступи та табуляція дозволяє досить легко збагнути структуру програми.
В інтерфейсі також не допущено зайвих елементів.
5. Керівництво оператору
Для завантаження програми необхідно запустити програмний файл Project1.exe. При цьому зявиться вікно (рис. 1), де можна задати початкові умови, переглянути постановку задачі а також ознайомитися з розв'язком при натисненні кнопки Розвязок.
Рисунок 1. Інтерфейс програми.
6. Результати обчислень
Результати обчислень:
Метод Гауса: 0,9962219100
Похибка: 0,0004163754
Метод Чебишева: 0,9961046200
Похибка: 0,0111120270
Точне розвязання (Mathcad): 1,1367262
Висновки
При виконані даної курсової роботи я навчилась розраховувати інтеграли за допомогою методів Гауса та Чебишева. Було відмічено, що метод Гауса є значно точнішим від Чебишева, за що і отримав назву метода найвищої математичної точності.
Література
Самарський А.А. Вступ в чисельні методи. - М.: Наука,
1987. - 286 с.
2.Квєтний Р.Н., Маліков В.Т. Обчислювльні методи та використання ЕОМ. Вища школа, 1989 - 55 с., 104 с.
Додаток A - Алгоритм роботи програми
Додаток Б - Лістинг програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Math;
type
TForm1 = class(TForm)
GroupBox2: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Memo1: TMemo;
LabeledEdit1: TLabeledEdit;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
const
c = 1.5;
d = 2.0;
n = 3;
tc:array[1..3] of extended = (-0.707107, 0, 0.707107);
tg:array[1..3] of extended = (-0.77459667, 0, 0.77459667);
Ag:array[1..3] of extended = (5/9, 8/9, 5/9);
function f(x:extended):extended;
begin
result := c*x/2+1/cos(d*x);
end;
function f_4(x:extended):extended;
begin
result := power(d,4)*
(24-20*power(cos(d*x),2)+
power(cos(d*x),4))/
power(cos(d*x),5);
end;
function f_6(x:extended):extended;
begin
result := -power(d,6)*
(-720-840*power(cos(d*x),2)-
182*power(cos(d*x),4)+power(cos(d*x),6))/
power(cos(d*x),7);
end;
var
i :integer;
h, x,a,b:Extended;
sumC,sumG,iG,iC,ec,max:Extended;
errC,errG:Extended;
begin
try
h:=StrToFloat(LabeledEdit1.Text);
a := 0.0;
b := 0.785-h;
errC:=0; errG:=0;
x:=a; sumC:=0; sumG:=0;
while x<b do begin
iG:=0; iC:=0; ec:=0; max:=0;
for i:=1 to 3 do begin
iC:=iC+(f((2*x+h)/2+h/2*tC[i]));
iG:=iG+(Ag[i]*f((2*x+h)/2+h/2*tG[i]));
ec:=ec+power((2*x+h)/2+h/2*tC[i]-(2*x+h)/2,n+1)*f_4((2*x+h)/2+h/2*tC[i]);
if f_6((2*x+h)/2+h/2*tG[i])>max then max:=f_6((2*x+h)/2+h/2*tG[i]);
end;
iC:=iC*h/n;
iG:=iG*h/2;
sumC:=sumC+iC;
sumG:=sumG+iG;
max:=power(h,2*n+1)*power(6,4)*max/power(2,2*n+1)/power(120,3)/(2*n+1);
if h/18*ec>errC then errC:=h/18*ec;
if max>errG then errG:=max;
x:=x+h;
end;
a := 0.785+h;
b := 1;
x:=a;
while x<b do begin
iG:=0; iC:=0; ec:=0; max:=0;
for i:=1 to 3 do begin
iC:=iC+(f((2*x+h)/2+h/2*tC[i]));
iG:=iG+(Ag[i]*f((2*x+h)/2+h/2*tG[i]));
ec:=ec+power((2*x+h)/2+h/2*tC[i]-(2*x+h)/2,n+1)*f_4((2*x+h)/2+h/2*tC[i]);
if f_6((2*x+h)/2+h/2*tG[i])>max then max:=f_6((2*x+h)/2+h/2*tG[i]);
end;
iC:=iC*h/n;
iG:=iG*h/2;
sumC:=sumC+iC;
sumG:=sumG+iG;
max:=power(h,2*n+1)*power(6,4)*max/power(2,2*n+1)/power(120,3)/(2*n+1);
if h/18*ec>errC then errC:=h/18*ec;
if max>errG then errG:=max;
x:=x+h;
end;
with Memo1.Lines do begin
clear;
Add('Результати обчислень: ');
Add(' Метод Гауса: '+FloatToStrF(sumG,ffFixed,8,10));
Add(' Похибка: '+FloatToStrF(errG,ffFixed,8,10));
Add(' Метод Чебишева: '+FloatToStrF(sumC,ffFixed,8,10));
Add(' Похибка: '+FloatToStrF(errC,ffFixed,8,10));
Add(' Точне розвязання (Mathcad):
'+FloatToStrF(1.1367262217813367605,ffFixed,8,10));
end;
except
on EConvertError do
Application.MessageBox('Неправильно введен_ дан_', 'Увага');
end;
end;
end.
Подобные документы
Дослідження методу сплайнів для вирішення задачі інтерполяції. Вибір методів технічних та інструментальних засобів вирішення задачі, їх алгоритми. Розробка логічної частини програми, результати обчислень. Розв’язання задачі в пакетах прикладних програм.
курсовая работа [278,5 K], добавлен 03.12.2009Метод розв’язків рівнянь більш високих порядків. Вибір методу розв'язання задачі Коші. Методи розв'язання крайових задач розглядаються на прикладі звичайного диференціального рівняння другого порядку. Вибір методу інструментальних засобів вирішення задач.
курсовая работа [132,0 K], добавлен 03.12.2009Огляд та аналіз методів розв’язання системи диференціальних рівнянь та вибір методів рішення. Алгоритми методів Ейлера. Вибір методу рішення задачі Коші. Рішення диференціальних рівнянь. Отримання практичних навиків програмування на мові Паскаль.
курсовая работа [174,3 K], добавлен 06.03.2010Аналіз методу чисельного інтегрування, з використанням методу Гауса при обчисленні інтегралу третього, четвертого та п’ятого порядків. Алгоритм та лістинг програми, що розв’язує інтеграл методом Гауса, знаходить похибку, виводить і порівнює результати.
курсовая работа [140,4 K], добавлен 09.02.2010Системи автоматичного керування. Описання методу стикування розв'язків на основі теореми по n-інтервалів. Застосування методу динамічного програмування (рівняння Р. Белмана). Моделювання задачі синтезу та аналізу на електронній обчислювальній машині.
контрольная работа [632,5 K], добавлен 31.03.2014Основні визначення дослідження операцій. Модель "затрати-випуск" В.В. Леонтьєва. Загальний вигляд задачі лінійного програмування. Розв'язання за допомогою симплекс-методу. Економічна інтерпретація основної та спряженої задач. Поліпшення плану перевезень.
учебное пособие [1,1 M], добавлен 27.12.2010Розвиток виробництва і широке використання промислових роботів. Алгоритми методів, блок-схеми алгоритмів розв'язку даного диференційного рівняння. Аналіз результатів моделювання, прямий метод Ейлера, розв’язок диференціального рівняння в Mathcad.
контрольная работа [59,1 K], добавлен 30.11.2009Задача на пошук найкоротшої відстані, маршруту і шляху холостого пробігу машин. Обгрунтування вибору методу та алгоритм розв'язання задачі. Опис математичної моделі задачі. Інтерфейс та лістинг программи. Заповнення таблиці суміжності для заданого графу.
курсовая работа [315,5 K], добавлен 26.05.2015Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.
курсовая работа [437,9 K], добавлен 24.01.2011Опис методів обчислення формули Ньютона-Котеса та поліномів Лежандра. Розгляд програмування процедур вводу меж інтегрування, ініціації елементів квадратурних формул Гауса та Чебишева. обчислення визначеного інтеграла і виводу результатів на екран.
курсовая работа [82,1 K], добавлен 23.04.2010