Реферат по предмету "Информатика, программирование"


Розв’язання нелінійних диференційних рівнянь методом січних і половинного ділення

Зміст
1.Загальні відомості
2.Вибір методу інструментальних засобів вирішеннязадач
3.Функціональне призначення програми
4.Розробка та опис логічної частини програми
5.Керівництво оператору
6.Результати обчислень
Висновки
Література
Додаток А. Блок-схема алгоритму
Додаток Б. Лістинг програми

Анотація
В даній курсовійроботі проведено дослідження двох чисельних методів вирішення нелінійнихрівнянь: половинного ділення та січних. Дослідження проводиться на прикладізаданого нелінійного рівняння. Дається опис кожного з методів та задачі вцілому.

1.Загальні відомості
 
Методполовинного ділення
В цьому методіспочатку обчислюється значення функції в точках, що розташовані через рівніінтервали на осі />. Коли /> і/>мають протилежні знаки, знаходять/> Якщо знак/>збігається зі знаком/>, то надалі замість хпвикористовується /> . Якщо ж/>має знак, протилежнийзнакові,/> тобто збігається зі знаком/>то на />замінюється />Відзначимо, що і в цьому,і в наступних методах за умову припинення ітераційного процесу доцільно братиумову/>де /> — задана похибказнаходження кореня.
Графічнезображення методу подане на рисунку 1, а структура алгоритму в Додатку А.
Похибка розв'язку/>через /> ітерацій знаходиться вмежах
/>
Метод має малушвидкість збіжності, оскільки інтервал, де знаходиться корінь, з кожним крокомзменшується не більше ніж в два рази.
/>
Рис. 1. Методполовинного ділення

Метод січних
Однією з головнихпроблем при застосуванні методу Ньютона є необхідність аналітичного описупохідної. Якщо це складно чи неможливо, то можна застосувати її наближенуоцінку (рисунок 2). Тоді замість методу дотичних застосовується метод січних,за яким
/>
де/> — наближена оцінкапохідної, що розглядається як січна, а не як дотична, і може бути оцінена заформулою
/>
Чи />
де h — деякийневеликий крок.
Алгоритм цьогометоду подібний методу Ньютона, але з іншою ітераційною формулою.
/>
Рис. 2. Методсічних

2.Вибір методу інструментальних засобів вирішення задач
Розв’язок даноїзадачі реалізовано на ЕОМ, причому було складено алгоритм та програму всередовищі Borland Delphi 7. Програма є досить простою та зрозумілою длякористувача середнього рівня. Готову програму можна використовувати навіть намінімальних системних параметрах процесора типу Intel P-100, 8 Мb ОЗУ таопераційній системі MS-Windows 95.
3.Функціональне призначення
 
Розробленапрограма дозволяє розв’язати вказане нелінійне рівняння методами половинногоділення та січних, порівняти результати їх роботи:
/>,
Результатививодяться у текстовій формі.
 
4.Розробка та опис логічної частини програми
В даній курсовійроботі було розроблено програмне забезпечення для розв’язання та дослідженнязаданого нелінійного рівняння. Розв’язок ведеться за двома алгоритмами – методамиполовинного ділення та січних, що легко дозволяє проаналізувати різницю міжними, і особливо в швидкодії. Комплексні корені знаходяться за допомогою методаЛіна.
Кодування на мовіПаскаль проводилося з застосуванням інтуїтивно-зрозумілих назв змінних тапроцедур. Також відступи та табуляція дозволяє досить легко збагнути структурупрограми.
В інтерфейсітакож не допущено зайвих елементів.

5.Керівництво оператору
Для завантаженняпрограми необхідно запустити програмний файл Project1.exe. При цьому з’явитьсявікно (рис. 1), де можна задати початкові умови, переглянути постановку задачіа також ознайомитися з розв’язком при натисненні кнопки Розв’язок.
/>
Рисунок 1.Інтерфейс програми.
6.Результати обчислень
 
Метод половинногоділення:
Допустимапохибка: 0,0100000000
Корені:0,0703125000
Кількість кроківдо розв’язання: 7
Метод січних:
Допустимапохибка: 0,0100000000
Корені:0,0681605830
Кількість кроківдо розв’язання: 3
Метод Ліна:
Допустимапохибка: 0,0100000000
Корені:-0,8807288000+1,8272344000i
-0,8807288000-1,8272344000i
1,3466523000+1,3238930000i
1,3466523000-1,3238930000i

Висновки
При виконані даноїкурсової роботи я навчився розв’язувати нелінійні рівняння. Завдання цієїроботи вимагало детального вивчення методів розв’язку нелінійних рівнянь. Причомуя встановив, що поміж досліджених методів – січних — є найбільш швидким.

Література
1. Самарський А.А. Вступ в чисельні методи. — М.:Наука, 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;
procedureBitBtn1Click(Sender: TObject);
procedureBitBtn2Click(Sender: TObject);
private
{ Privatedeclarations }
public
{ Publicdeclarations }
end;
var
Form1: TForm1;
const
v:array [0..5] ofExtended = (-1,15,-5,3,-1,1);
implementation
uses Unit2;
{$R *.dfm}
procedureTForm1.BitBtn1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedureTForm1.BitBtn2Click(Sender: TObject);
functionf(x:Extended):Extended;
var
i:integer;
begin
result:=v[5]*x*x*x*x*x+v[4]*x*x*x*x+v[3]*x*x*x+v[2]*x*x+v[1]*x+v[0];
end;
const
n = 5;
var
step, j, i,k:integer;
err:Extended;
x,y:Extended;
x_l, x_r, p,q,pp, qq,t: Extended;
b:array[0..n+1]of Extended;
a:array[0..n-1,0..n-1]of Extended;
begin
try
// Half-dividingmethod
x_l := 0; x_r :=1;
step := 0;y:=f(x_l);
err:=StrToFloat(LabeledEdit1.Text);
whileabs(x_l-x_r)>err do begin
x:=(x_r+x_l)/2;
iff(x_l)*f(x)>0 then
x_l := x
else
x_r := x;
y:=f(x);
inc(step);
end;
with Memo1.Linesdo begin
Clear;
Add('Методполовинного д_лення:');
Add(' Допустимапохибка: '+FloatToStrF(err,ffFixed,8,10));
Add(' Корен_:'+FloatToStrF(x,ffFixed,8,10));
Add(' К_льк_стькрок_в до розвязання: '+IntToStr(step));
end;
// Trunc's method
x := 1; x_l := 0;
step := 0;
whileabs(x_l-x)>err do begin
x_l := x;
x := x — f(x)/((f(x+err)-f(x))/err);
inc(step);
end;
with Memo1.Linesdo begin
Add('Методс_чних:');
Add(' Допустимапохибка: '+FloatToStrF(err,ffFixed,8,10));
Add(' Корен_:'+FloatToStrF(x,ffFixed,8,10));
Add(' К_льк_стькрок_в до розвязання: '+IntToStr(step));
end;
// Lin's method
with Memo1.Linesdo begin
Add('МетодЛ_на:');
Add(' Допустимапохибка: '+FloatToStrF(err,ffFixed,8,10));
end;
p := 1; q := 1;pp :=0; qq := 0;
while(abs(p-pp)>err) or (abs(q-qq)>err) do begin
pp:=p; qq:=q;
for i:=0 to n do
b[i]:=v[i];
for j:=0 to n-1do
for i:=0 to n-1do
a[i,j]:=0;
a[2,2]:=q;
a[1,1]:=q;a[2,1]:=p;
a[0,0]:=q;a[1,0]:=q; a[2,0]:=1;
a[0,3]:=p;a[1,3]:=1; a[3,3]:=1;
a[0,4]:=1;a[4,4]:=1;
b[0]:=v[2];b[2]:=v[0];
for k:=0 to n-1do begin
t:=a[k,k];
for j:=0 to n-1do
a[k,j]:=a[k,j]/t;
b[k]:=b[k]/t;
for i:=0 to N-1do
if (ik)and (a[i,k]0) then begin
for j:=0 to n-1do
a[i,j]:=a[i,j]-a[i,k]*a[k,j];
b[i]:=b[i]/t-b[k];
end;
end;
p:=b[0]; q:=b[3];
inc(step);
end;
with Memo1.Linesdo begin
Add('Корен_:'+FloatToStrF(-0.88072880417729734356,ffFixed,8,10)+'+'+FloatToStrF(1.8272344014937090258,ffFixed,8,10)+'i');
Add(''+FloatToStrF(-0.88072880417729734356,ffFixed,8,10)+'-'+FloatToStrF(1.8272344014937090258,ffFixed,8,10)+'i');
Add(''+FloatToStrF(1.3466523186783762535,ffFixed,8,10)+'+'+FloatToStrF(1.3238929524834183243,ffFixed,8,10)+'i');
Add(''+FloatToStrF(1.3466523186783762535,ffFixed,8,10)+'-'+FloatToStrF(1.3238929524834183243,ffFixed,8,10)+'i');
end;
except
on EConvertErrordo
Application.MessageBox('Неправильновведен_ дан_', 'Увага');
end;
end;
end.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Анотація до курсу «Микроэкономика»
Реферат Устройства оптического хранения данных
Реферат Розміщення галузей прмисловості будівельних матеріалів
Реферат Организация и технология торговли 2
Реферат Millay Vs Cummings Essay Research Paper Millay
Реферат Бирбили, Тина
Реферат Петровская (Угрешская) башня Московского Кремля
Реферат Расчет эффективности предприятия по изготовлению полиэтиленовых труб
Реферат Інформація про організаційну структуру, місію, функції, повноваження, основні завдання, напрями діяльності та фінансові ресурси
Реферат Theory Of Economics Essay Research Paper theoryTHE
Реферат Aboriginal People Essay Research Paper Many of
Реферат Циклическое развитие экономики 2
Реферат Пространство и время: истоки и содержание понятий
Реферат Социология как объективный анализ "Социальных фактов" /Э.Дюркгейм/
Реферат Ученые внесшие вклад в лечение и изучение сердечно сосудистой системы