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

Лабы / 6

.doc
Скачиваний:
22
Добавлен:
30.04.2013
Размер:
100.35 Кб
Скачать

МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ Московский технический университет связи и информатики

Кафедра вычислительной математики и программирования

Численные методы и оптимизация Лабораторная работа №6 по теме: ”Методы решения обыкновенных дифференциальных уравнений”

Выполнил: Востропятов Н. А.

Группа: УИ0301

Вариант: №9

Проверил: Митихин В. Г.

1. Условие.

2. Найдём точное аналитическое решение.

3. Найдём решение методом Эйлера с помощью MathCAD 12.

3. Программа. Язык – Паскаль.

function f(x,y:real):real;

begin

f:=x*x*x*y;

end;

function r(x,y,h:real;m:byte):real;

var j:byte;

k1,k2,k3,k4:real;

begin

for j:=1 to m do

begin

k1:=f(x,y);

k2:=f(x+h/2,y+h*k1/2);

k3:=f(x+h/2,y+h*k2/2);

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

y:=y+h/6*(k1+2*k2+2*k3+k4);

x:=x+h;

end;

r:=y;

end;

begin

clrscr;

{$I-}

repeat

write('Введите x0, y0, h0, E, b: '); read(x0,y0,h0,E,b);

iores:=ioresult;

if iores<>0 then writeln('Ошика!…Ещё разок...',#10#13) else break;

until iores=0;

{$I+}

n:=round(int((b-x0)/h0)+1);

writeln('x0=',x0:0:6,', y0=',y0:0:6,', h0=',h0:4:3);

writeln;

writeln(' x ',' y ', ' h ',' m');

for i:=1 to n do

begin

h:=h0;

m:=1;

y:=r(x0,y0,h,m);

repeat

y1:=y; h:=h/2;

x:=x0; y:=y0;

m:=2*m;

y:=r(x,y,h,m);

until abs(y-y1)<E;

x0:=x0+h0;

y0:=y;

writeln(x0:6:2,' ',y0:9:4,' ',h:4:3,' ',m:3);

end;

repeat until keypressed;

end

Введите x0, y0, h0, E, b: 0 1 0.1 0.0001 2

x0=0.000000, y0=1.000000, h0=0.100

x y h m

0.20 1.0004 0.050 2

0.40 1.0064 0.050 2

0.60 1.0329 0.050 2

0.80 1.1078 0.050 2

1.00 1.2840 0.050 2

1.20 1.6793 0.050 2

1.40 2.6127 0.050 2

1.60 5.1469 0.025 4

1.80 13.7963 0.013 8

2.00 54.5980 0.006 16

4. Таблица результатов.

xi

y(xi)

yy(xi)

Ei

ypk(xi)

i

0.0

1

1

0

1

0

0.2

1.0004

1

0.0004

1.0004

0

0.4

1.0064

1.0016

0.0048

1.0064

0

0.6

1.0329

1.0144

0.0185

1.0329

0

0.8

1.1078

1.0582

0.0496

1.1078

0

1.0

1.2840

1.1666

0.1174

1.2840

0

1.2

1.6793

1.3999

0.2794

1.6793

0

1.4

2.6127

1.8837

0.7290

2.6127

0

1.6

5.1469

2.9175

2.2294

5.1469

0

1.8

13.7963

5.3076

8.4887

13.7963

0

2.0

54.5982

11.4984

43.0998

54.5980

0.0002

5. Графическая иллюстрация решения ОДУ.

5

Соседние файлы в папке Лабы