2.4 Метод "стрілянини"
Якщо звичайне диференціальне рівняння другого порядку - лінійне, то воно має вигляд:
при у(а) = А , у(в) = В.
Крайову задачу можна звести до задачі Коші введенням додаткової початкової умови, крім у(а)=А вводиться у'(а)=.
Знайшовши розв'язок (х), можна поставити іншу початкову умову у(а)= і отримати інший розв'язок у2 (х). Якщо а , причому , то розв'язок:
буде задовольняти обидві початкові умови.
При розв'язуванні нелінійного звичайного диференціального
рівняння методами "стрілянини" крайова задача зводиться до
розв'язування декількох задач Коші, послідовно вводячи в початкові і
умови значення :
у(а)=А і у'(а)=а
і намагаючись знайти розв'язок, який задовольняє умову у(в)=В,
При цьому алгоритм досягнення мети будується на основі одного з методів оптимізації. Однак цей шлях розв'язання задачі пов'язаний з великими обчислювальними труднощами, і тому у випадку нелінійних |диференціальних рівнянь перевага надається різницевим методам.
3.Вибір методу інструментальних засобів вирішення задач.
Розв’язок даної задачі реалізовано на ЕОМ, причому було складено алгоритм та програму в середовищі Borland Delphi 7. Програма є досить простою та зрозумілою для користувача середнього рівня
Для нормального функціонування програми необхідна наявність наступних апаратних засобів :
1. IBM PC/XT сумісний комп'ютер;
2. CPU не нижче Intel P-100;
Операційна система MS-Windows 95 та вище;
3. 8 Mb ОЗУ;
4. Монітор, що підтримує режим 640x480, 16 кольорів;
4. Функціональне призначення
Розроблена програма дозволяє розв’язати вказану крайову задачу:
,
методом стрілянини з кроками 0,1 і 0,05.
Результати виводяться у текстовій формі.
5. Розробка та опис логічної частини програми
В даній курсовій роботі було розроблено програмне забезпечення для розв’язання та дослідження заданого диференційного рівняння. Розв’язок ведеться за різницевим алгоритмом.
Кодування на мові Паскаль проводилося з застосуванням інтуїтивно-зрозумілих назв змінних та процедур. Також відступи та табуляція дозволяє досить легко збагнути структуру програми.
В інтерфейсі також не допущено зайвих елементів.
6. Керівництво оператору
Для завантаження програми необхідно запустити програмний файл Project1.exe. При цьому зявиться вікно (рис. 1), де можна задати початкові умови, переглянути постановку задачі а також ознайомитися з розв’язком при натисненні кнопки Розв’язок.
Рисунок 1. Інтерфейс програми.
7. Результати обчислень
Результати обчислень:
Крок: 0,1000000000
X | Y
-----------
0,000|1,0000000000
0,100|0,3273336200
0,200|0,1072995400
0,300|0,0356159580
0,400|0,0131109860
0,500|0,0085276729
0,600|0,0151296980
0,700|0,0408859800
0,800|0,1180330500
0,900|0,3434084400
1,000|1,0000000000
Похибка не б_льше: 0,0050000000
Результати обчислень:
Крок: 0,0500000000
X | Y
-----------
0,000|1,0000000000
0,050|0,5993159300
0,100|0,3592222800
0,150|0,2153842700
0,200|0,1292593800
0,250|0,0777695550
0,300|0,0471172200
0,350|0,0290879730
0,400|0,0188492490
0,450|0,0136550000
0,500|0,0121092040
0,550|0,0137906880
0,600|0,0191384160
0,650|0,0295660470
0,700|0,0478356090
0,750|0,0787890890
0,800|0,1306317000
0,850|0,2171069500
0,900|0,3611400200
0,950|0,6009154100
1,000|1,0000000000
Похибка не більше: 0,0012500000
Висновки
При виконані даної курсової роботи я навчився розв’язувати крайові задачі за допомогою методу стрілянини. Було відмічено, що метод досить важко приміняти до комп’ютерних обчислень через необхідність врахування специфіки кожної задачі.
Література
1. В.Т.Маликов, Р.Н.Кветный . Вычислительные методы и применение ЭВМ . Учебное пособие -- К.: Выща шк. Головное издательство,1989.-213 с .
2. В.Е.Краскевич, К.Х.Зеленский, В.И.Гречко . Численные методы в инженерных исследованиях. -- К.: Выща шк. Головное издательство, 1986.--263 с .
3. Самарський А.А. Вступ в чисельні методи. - М.: Наука,
1987. – 286 с.
Додаток 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);
var
i, j, n :integer;
h:Extended;
ybeg, yend, t: Extended;
alpha1, alpha2, beta1, beta2 : extended;
b:array of Extended;
a:array of array of Extended;
y,y1,y2:array of Extended;
x:array of Extended;
M0,M1,M2,err:Extended;
k,k0,k1,k2,k3,l,l0,l1,l2,l3,zn,xn:extended;
function f(x,y,dy:extended):extended;
begin
result:=100*y;
end;
begin
try
h:=StrToFloat(LabeledEdit1.Text);
n:=round(1/h)+1;
ybeg:=1; yend:=1;
SetLength(y,n);
SetLength(y1,n);
SetLength(y2,n);
y1[0]:=ybeg;
y2[0]:=ybeg;
alpha1:=yend;
alpha2:=yend;
zn:=alpha1; xn:=0;
for i:=1 to n-1 do begin
l0:=h*f(xn,y1[i-1],zn);
k0:=h*zn;
l1:=h*f(xn+h/2,y1[i-1]+k0/2,zn+l0/2);
k1:=h*(zn+l1/2);
l2:=h*f(xn+h/2,y1[i-1]+k1/2,zn+l1/2);
k2:=h*(zn+l2/2);
l3:=h*f(xn+h,y1[i-1]+k2,zn+l2);
k3:=h*(zn+l3);
k:=(k0+2*k1+2*k2+k3)/6;
l:=(l0+2*l1+2*l2+l3)/6;
y1[i]:=y1[i-1]+k;
zn:=zn+l;
xn:=xn+h;
end;
beta1:=y1[n-1]; beta2:=beta1;
while (beta1=beta2) do begin
alpha2:=alpha2-h;
zn:=alpha2; xn:=0;
for i:=1 to n-1 do begin
l0:=h*f(xn,y2[i-1],zn);
k0:=h*zn;
l1:=h*f(xn+h/2,y2[i-1]+k0/2,zn+l0/2);
k1:=h*(zn+l1/2);
l2:=h*f(xn+h/2,y2[i-1]+k1/2,zn+l1/2);
k2:=h*(zn+l2/2);
l3:=h*f(xn+h,y2[i-1]+k2,zn+l2);
k3:=h*(zn+l3);
k:=(k0+2*k1+2*k2+k3)/6;
l:=(l0+2*l1+2*l2+l3)/6;
y2[i]:=y2[i-1]+k;
zn:=zn+l;
xn:=xn+h;
end;
beta2:=y2[n-1];
end;
for i:=0 to n-1 do
y[i]:=1/(beta1-beta2)*((1-beta2)*y1[i]+(beta1-1)*y2[i]);
with Memo1.Lines do begin
clear;
Add('Результати обчислень: ');
Add(' Крок: '+FloatToStrF(h,ffFixed,8,10));
Add(' X | Y ');
Add(' ----------- ');
for i:=0 to n-1 do
Add(' '+FloatToStrF(h*i,ffFixed,3,3)+'|'+FloatToStrF(abs(y[i]),ffFixed,8,10));
Add(' Похибка не б_льше: '+FloatToStrF(h*h/2,ffFixed,8,10));
end;
except
on EConvertError do
Application.MessageBox('Неправильно введен_ дан_', 'Увага');
end;
end;
end.
... не встановлена. Імовірно, його створив Марен ле Буржуа з Лізьє (Франція) у першому десятилітті 18 ст. У цьому ж столітті ударний замок одержав повсюдне поширення і встановлювався на стрілецькій зброї армій усього світу до середини 19 ст. Конструкція і принцип дії. Шептало в цьому замку монтувалося на внутрішній стороні замкової дошки і з'єднувалося з щиколоткою (диском), що поверталася при ...
... у провадженні судових експертиз та попередніх досліджень за завданнями слідчого або органу дізнання. Крім того, техніко-криміналістичні засоби та методи в залежності від мети поділяють на такі, які використовуються для: — збирання речових доказів (виявлення, фіксація, вилучення та упаковка); — дослідження доказів; — профілактики. Іноді у межах зазначеної класифікації виділяють і засоби та ...
... ДП-25 у відділенні. ДП-25 застосовувалися при захопленні об'єкту, мови, прикриття при винесенні противника в групі забезпечення. Стрічка вішалася на грудях автоматника - 10 гранат. Особливості при стрільбі з підствольного гранатомета ГП-25 Натискати на спуск ГП-25 правою рукою незручно, занадто далеко він розташований. Щоб було зручніше стріляти з "підствольника", в плече слід пручатися не ...
... гарного - теж погано, адже не завжди чим яскравіше, тим краще, тут теж є свої границі, коли захід стає стомлюючим і навіть починає дратувати. 1.3. Анімаційні технології, анімаційні послуги в молодіжному туризмі і їх застосування Аніматорами називають фахівців із організації дозвілля на туристських підприємствах, в санаторно-курортних та інших оздоровчих установах. Найчастіше, вимовивши слово ...
0 комментариев