23
Вступ
На даний момент велика роль в розвитку сучасного світу відводиться підвищенню технічного рівня обчислювальної техніки, пристроїв і засобів автоматизації. Це передбачає розвиток виробництва і широке використання промислових роботів, систем автоматичного управління з використанням мікропроцессорів і мікро-ЕОМ, створення гнучких автоматизованих виробництв. Розвязок цих задач потребує широкого упровадження в інженерну практику методів обчислювальної математики.
Обчислювальна математика заснована на чисельних методах, придатних до застосування при розрахунках на ЕОМ. Сучасні ЕОМ дозволили дослідникам значно підвищити ефективність математичного моделювання складних задач науки і техніки. Нині методи досліднення проникають практично в усі сфери людської діяльності, а математичні моделі стають засобами пізнання.
Значення математичних моделей неперервно зростає у звязку з тенденціями до оптимізації технічних пристроїв і технологічних схем планування експерименту. Реалізація моделей на ЕОМ здійснюється за допомогою різноманітних методів обчислювальної математики, яка неперервно удосконалюєтьтся.
В даній роботі розглянуто розвязання крайової задачі методом “стрілянини” (на прикладі диференційного рівняння другого порядку).
3.Вибір методу інструментальних засобів вирішення задач.
Розвязок даної задачі реалізовано на ЕОМ, причому було складено алгоритм та програму в середовищі Borland Delphi 7. Програма є досить простою та зрозумілою для користувача середнього рівня
Для нормального функціонування програми необхідна наявність наступних апаратних засобів :
IBM PC/XT сумісний компютер;
CPU не нижче Intel P-100;
Операційна система MS-Windows 95 та вище;
8 Mb ОЗУ;
Монітор, що підтримує режим 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
Висновки
При виконані даної курсової роботи я навчився розвязувати крайові задачі за допомогою методу стрілянини. Було відмічено, що метод досить важко приміняти до компютерних обчислень через необхідність врахування специфіки кожної задачі.
Література
В.Т.Маликов, Р.Н.Кветный . Вычислительные методы и применение ЭВМ . Учебное пособие -- К.: Выща шк. Головное издательство,1989.-213 с .
В.Е.Краскевич, К.Х.Зеленский, В.И.Гречко . Численные методы в инженерных исследованиях. -- К.: Выща шк. Головное издательство, 1986.--263 с .
Самарський А.А. Вступ в чисельні методи. - М.: Наука,
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.
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |