Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Стукалов-Русских / лаб.раб.4

.docx
Скачиваний:
7
Добавлен:
19.05.2015
Размер:
46.24 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Омский государственный педагогический университет»

Факультет математики, информатики, физики и технологии

Кафедра прикладной математики

Лабораторная работа №4

по дисциплине «Численные методы»

Выполнил: студент

33 группы

Русских Юрий Вячеславович

_______________________

(подпись)

Проверил:

Стукалов Виктор Анатольевич

к.п.н., доцент

Оценка ________________

«___» _______________ 20___г.

_______________________

(подпись)

Омск, 2013

Задание.

Решить задачу Коши для дифференциального уравнения y=f(x,y) на отрезке [a;b] при заданном начальном условии и шаге интегрирования h.

a=2,6; b=4,6; c=1,8; h=0,2

y = f(x,y)

a

b

c

h

2,6

4,6

1,8

0,2

    1. Решим задачу Коши для дифференциального уравнения методом Эйлера с помощью программы для Pascal на компьютере, с шагом h=0,2.

program Euler;

Uses Crt;

Var x,y,h,b:real;

function f(x1,y1:real):real;

Begin f:= sqrt(4x^2+1)-3y^2; End;

Begin

Clrscr;

Writeln(‘Введите через пробел начальные значения x и y:');

readln(x,y);

writeln(Введите величину шага интегрирования:');

readln(h);

writeln(Введите абсциссу правого конца отрезка:');

readln(b);

writeln(Таблица значений искомой функции:');

writeln(' x ',' y ');

repeat

writeln(x:3:1,' ',y:4:2);

y:=y+h*f(x,y);

x:=x+h;

until x>=b+h/2;

repeat until keypressed

end.

По полученным значениям строим график:

x

y

y*

ε

2,6

1,8

1,3674

-0,4326

2,8

0,92

1,4022

0,4822

3

1,55

1,437

-0,113

3,2

1,32

1,4718

0,1518

3,4

1,57

1,5066

-0,0634

3,6

1,47

1,5414

0,0714

3,8

1,63

1,5762

-0,0538

4

1,57

1,611

0,041

4,2

1,7

1,6458

-0,0542

4,4

1,65

1,6806

0,0306

4,6

1,78

1,7154

-0,0646

    1. Методом Рунге-Кутта с помощью программы для компьютера с шагом h и шагом h/2. На основе результатов двойного счета сделать вывод о точности полученного решения.

Program Runge_Kutta4;

Uses Crt, rung;

Type T=real;

Var x,y,h,b:T; i,n:integer;

Begin

Clrscr;

writeln(Задайте начальные значения: ');

read(x,y);

writeln('Укажите шаг интегрирования: ');

readln(h);

writeln(' и правую границу отрезка интегрирования: ');

readln(b); writeln(' x',' y');

n:=trunc((b-x+1E-10)/h);

writeln(' ',X:4:2,' ',y:10:6);

FOr I:=1 to n do

Begin

r_k(x,y,h,y);

x:=x+h;

writeln(' ',x:4:2,' ',y:10:6);

end;

repeat until keypressed

end.

По полученным значениям строим график:

x

y

y*

ε

2,6

1,8

1,4452

-0,3548

2,8

1,47

1,4191

-0,05087

3

1,43

1,416

-0,01403

3,2

1,45

1,4176

-0,03245

3,4

1,49

1,4207

-0,06929

3,6

1,53

1,4239

-0,10613

3,8

1,58

1,4278

-0,15218

4

1,62

1,431

-0,18902

4,2

1,66

1,4341

-0,22586

4,4

1,7

1,4373

-0,2627

4,6

1,74

1,4405

-0,29954

Сделаем сводную таблицу полученных результатов:

x

y

Метод Эйлера

Метод Рунге-Кутта

Метод наименьших квадратов

2,6

1,8

1,8

1,3674

1,4452

2,8

0,92

1,47

1,4022

1,4191

3

1,55

1,43

1,437

1,416

3,2

1,32

1,45

1,4718

1,4176

3,4

1,57

1,49

1,5066

1,4207

3,6

1,47

1,53

1,5414

1,4239

3,8

1,63

1,58

1,5762

1,4278

4

1,57

1,62

1,611

1,431

4,2

1,7

1,66

1,6458

1,4341

4,4

1,65

1,7

1,6806

1,4373

4,6

1,78

1,74

1,7154

1,4405

Вывод: Применяя разные методы, видим, что вычисления значения y разные, а более точным является метод наименьших квадратов.

Соседние файлы в папке Стукалов-Русских