Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab Pract CHislennye Medody.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.28 Mб
Скачать

Практическая часть

Задание 1. Вычислить интеграл , используя квадратурные формулы:

а) прямоугольников (левых, правых)с шагом ; дать априорную оценку погрешности;

б) трапеций с шагами и ; оценить погрешность результата по формуле Рунге и уточнить результат по Рунге;

в) Симпсона с шагом .

Промежуточные результаты вычислять с шестью значащими цифрами. Аргументы тригонометрических функций вычислять в радианах.

Образец решения:

а)

x

y

y'

1

1

0,582572

0,490218

2

1,4

0,843693

0,831417

3

1,8

1,255083

1,22226

4

2,2

1,801286

1,456334

5

2,6

2,35582

1,214428

а)метод прямоугольника

Метод прямоугольника

 

Прав

Лев

2,502352897

1,793054

2,147703371

Iправ=0,4*(∑ (y1: y4))= 2,50235

Iлев =0,4*(∑ (y0: y5))= 1,79305

Iобщ =(Iправ+ Iлев)/2= 2,147703371

Оценим погрешность

|Rn|≤M1*

|Rn|≤1,456334*0,256=0,372822

б)

метод трапеций:

h=0.4

x

y

1

0,540302

1,4

0,755561

1,8

0,849608

2,2

0,898461

2,6

0,926943

Iтр1=0,4*((y0+ y5)/2+∑( y1: y4))= 1,29490

.

h=0.2

x

y

1

0,540302

1,2

0,672412

1,4

0,755561

1,6

0,810963

1,8

0,849608

2

0,877583

2,2

0,898461

2,4

0,914443

2,6

0,926943

Iтр2=0,2*((y0+ y8)/2+∑( y1: y7))= 1,30253

оценим погрешность результата по формуле Рунге

уточним результат по формуле Рунге

1,30253+0,00254333=1,30507333

в)

Iсимп =0,4/3*( y0+ y4+4*( y1+ y3)+2*( y2))= 6,14381.

1

2

3

4

5

6

7

8

9

10

Задание 2. Вычислить работу переменной силы F=F(x) по перемещению материальной точки М на линейном участке.

1<=x<=1,54, e=0.001

№ варианта

Вид функции

1

F(x)

2

3

4

5

6

7

8

9

10

Задание 3. Найти площадь фигуры, ограниченной линией у=f(x), на отрезке [0,1]

Вариант

f(x)

1

2

3

4

5

6

7

8

9

10

Вопросы к защите лабораторной работы №5

«Численное интегрирование»

  1. Простейшие квадратурные формулы (формулы правых, левых, центральных прямоугольников, формула трапеций, формула Симпсона), геометрическая иллюстрация, оценки погрешности. Точность квадратурных формул.

  2. Квадратурные формулы интерполяционного типа: вывод формул, оценки погрешности.

  3. Квадратурные формулы Гаусса: вывод формул, точность формул.

  4. Метод Монте-Карло.

ЛАБОРАТОРНАЯ РАБОТА №6

Численное решение задачи Коши

Теоретическая часть

Метод Эйлера. Решить задачу Коши

c начальным условием x0=0.2 , y0=0.25

A

B

C

D

E

F

G

1

2

3

x0=

0,2

h=

0,1

y0=

0.25

4

 

i

xi

y=f(xi;xi)

dy=h*y

5

 

0

=C3

=G3

=$E$3*(0,215*(D5^2+COS(1,5*D5))+1,287*E5)

6

 

1

=D5+$E$3

=E5+F5

=$E$3*(0,215*(D6^2+COS(1,5*D6))+1,287*E6)

7

 

2

=D6+$E$3

=E6+F6

=$E$3*(0,215*(D7^2+COS(1,5*D7))+1,287*E7)

8

 

3

=D7+$E$3

=E7+F7

=$E$3*(0,215*(D8^2+COS(1,5*D8))+1,287*E8)

9

 

4

=D8+$E$3

=E8+F8

=$E$3*(0,215*(D9^2+COS(1,5*D9))+1,287*E9)

10

 

5

=D9+$E$3

=E9+F9

=$E$3*(0,215*(D10^2+COS(1,5*D10))+1,287*E10)

11

 

6

=D10+$E$3

=E10+F10

=$E$3*(0,215*(D11^2+COS(1,5*D11))+1,287*E11)

Результат:

x0=

0,2

h=

0,1

y0=

0,25

 

i

xi

y=f(xi;xi)

dy=h*y

 

 

0

0,2

0,25

0,053575

 

 

1

0,3

0,303575

0,060365

 

 

2

0,4

0,363939

0,068024

 

 

3

0,5

0,431963

0,0767

 

 

4

0,6

0,508663

0,08657

 

 

5

0,7

0,595233

0,097839

 

 

6

0,8

0,693072

0,110749

 

 

7

0,9

0,803821

0,125575

 

 

8

1

0,929396

0,142634

 

 

9

1,1

1,07203

0,162284

 

 

10

1,2

1,234315

0,184931

 

 

11

1,3

1,419246

0,211033

 

 

12

1,4

1,630279

0,241103

 

 

13

1,5

1,871382

0,275716

 

 

14

1,6

2,147098

0,315518

 

 

15

1,7

2,462616

0,361227

 

 

16

1,8

2,823843

0,413651

 

 

17

1,9

3,237494

0,473688

 

 

18

2

3,711182

0,542344

 

 

19

2,1

4,253527

0,620745

 

 

20

2,2

4,874271

0,710148

 

 

21

2,3

5,584419

0,811964

 

 

22

2,4

6,396383

0,927774

 

I= 6,397.

Алгоритм решения в TMTPascal.

Задача. Численно решить задачу Коши для обыкновенного дифферен-циального уравнения 1-го порядка

на отрезке с шагом методом Эйлера. Найти точное решение задачи.

f(t,y)

t0

T

y0

9

1

2

1

Решение.

program metod_Euler;

var a,b,t0,y0,t1,y1,h,e,dy,d:real;

n,k,i:integer;

function ff(y,t:real):real;

begin ff:=-y/(2*t)+t*t end;

begin

clrscr;

write('a=');

readln(a);

write('b=');

readln(b);

write('t0=');

readln(t0);write('y0=');

readln(y0);write('n=');

readln(n);k:=0;h:=(b-a)/n;

dy:=h*ff(t0,y0);

for i:=1 to n do begin

t1:=t0+h;

y1:=y0+dy;

k:=k+1;

dy:=h*ff(t1,y1);

write('k=',k:2);write(' t=',t1:7:4);

write(' y=',y1:7:4);write(' dy=',dy:7:4);

d:=abs(y1-y0);

writeln(' d=',d:7:3);

t0:=t1;y0=y1;

end;

readln;end.

Результат:

.

Метод Рунге-Кутта 4-го порядка. Особо широко известно вычислительное правило Рунге-Кутта четвертого порядка точности: , где

,

,

,

Метод Рунге-Кутта имеет погрешность четвертого порядка (~ h4 ).

Если приближенный метод имеет порядок погрешности m, то погрешность можно приближенно оценить по формуле: .(22)

В формуле O(xi) – главный член погрешности, и - приближенные решения в точке xi, найденные с шагом h и 2h соответственно.

Алгоритм решения дифференциальных уравнений методом Рунге-Кутта.

Задача. Рассмотрим пример. Решить дифференциальное уравнение

у0=0, х0=0 на отрезке [0,1] с шагом 0.1 методом Рунге-Кутта 4-го порядка.

Решение. Воспользуемся формулами (21), (22), построим таблицу

A

B

C

D

E

F

1

2

3

h=

0,1

0

1

4

5

i

xi

yi

xi+h/2

k1

yi+k1/2

6

0

0

0

=C6+$D$3/2

=$D$3*(COS(C6+D6)+0,5*(C6-D6))

=D6+F6/2

7

1

=C6+$D$3

=D6+N6

=C7+$D$3/2

=$D$3*(COS(C7+D7)+0,5*(C7-D7))

=D7+F7/2

8

2

=C7+$D$3

=D7+N7

=C8+$D$3/2

=$D$3*(COS(C8+D8)+0,5*(C8-D8))

=D8+F8/2

9

3

=C8+$D$3

=D8+N8

=C9+$D$3/2

=$D$3*(COS(C9+D9)+0,5*(C9-D9))

=D9+F9/2

…… …….. ……… ………………………….. ……

G

H

I

k2

Yk+K2/2

K3

=$D$3*(COS(E6+G6)+0,5*(E6-G6))

=D6+$H$6/2

=$D$3*(COS(E6+I6)+0,5*(E6-I6))

=$D$3*(COS(E7+G7)+0,5*(E7-G7))

=D7+$H$6/2

=$D$3*(COS(E7+I7)+0,5*(E7-I7))

=$D$3*(COS(E8+G8)+0,5*(E8-G8))

=D8+$H$6/2

=$D$3*(COS(E8+I8)+0,5*(E8-I8))

=$D$3*(COS(E9+G9)+0,5*(E9-G9))

=D9+$H$6/2

=$D$3*(COS(E9+I9)+0,5*(E9-I9))

……………………………… ……………. ……………………………….

J

K

L

M

Xi+h

Yi+K3

K4

dy

=C6+$D$3

=D6+J6

=$D$3*(COS(K6+L6)+0,5*(K6-L6))

=1/6*(F6+2*H6+2*J6+M6)

=C7+$D$3

=D7+J7

=$D$3*(COS(K7+L7)+0,5*(K7-L7))

=1/6*(F7+2*H7+2*J7+M7)

=C8+$D$3

=D8+J8

=$D$3*(COS(K8+L8)+0,5*(K8-L8))

=1/6*(F8+2*H8+2*J8+M8)

=C9+$D$3

=D9+J9

=$D$3*(COS(K9+L9)+0,5*(K9-L9))

=1/6*(F9+2*H9+2*J9+M9)

………. …….. ………………………….. ………………………….

Результат

C

D

E

F

G

H

I

J

K

L

M

N

1

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

2

3

h=

0,1

0

1

4

5

i

xi

yi

xi+h/2

k1

yi+k1/2

k2

Yk+K2/2

K3

Xi+h

Yi+K3

K4

dy

6

0

0

0

0,05

0,1

0,05

0,0995

0,0497

0,0995

0,1

0,0995

0,0980

0,0993

7

1

0,1

0,0993

0,15

0,0980

0,14836

0,0956

0,1490

0,0955

0,2

0,1949

0,0925

0,0955

8

2

0,2

0,1948

0,25

0,0925

0,24113

0,0886

0,2446

0,0880

0,3

0,2828

0,0843

0,0883

9

3

0,3

0,2832

0,35

0,0843

0,3253

0,0792

0,3329

0,0776

0,4

0,3608

0,0743

0,0787

10

4

0,4

0,3619

0,45

0,0742

0,39910

0,068

0,4117

0,0653

0,5

0,4272

0,0636

0,0676

11

5

0,5

0,4296

0,55

0,0633

0,46127

0,0575

0,4793

0,0518

0,6

0,4814

0,0529

0,0558

12

6

0,6

0,4854

0,65

0,0523

0,51163

0,0467

0,5351

0,0381

0,7

0,5236

0,0428

0,0441

13

7

0,7

0,5296

0,75

0,0419

0,55060

0,0366

0,5793

0,0247

0,8

0,5543

0,0337

0,0330

14

8

0,8

0,5627

0,85

0,0325

0,57897

0,0276

0,6124

0,012

0,9

0,5747

0,0258

0,0229

15

9

0,9

0,585

0,95

0,0242

0,59778

0,0199

0,6354

0,0001

1

0,5857

0,0192

0,0139

y=0,585.

Алгоритм решения задачи Коши методом Рунге-Кутта на языке TMTPascal.

program metod_Runge_Kutta;

var { решение дифф-ных уравнений }

a,b,h,x,y,y0,x0,k1,k2,k3,k4:real; { методом Рунге-Кутта }

i,n:integer;

function FF(x,y:real):real; { исходная функция для определения }

begin { коэфф-тов k1,k2,k3,k4 }

FF:=cos(x+y)+0.5*(x-y);

end;

function f1(y,k1,k2,k3,k4:real):real; { функция для построения таблицы }

begin { приближенных решений данного }

f1:=y+(h/6)*(k1+2*k2+2*k3+k4); { дифф-ного уравнения }

end;

begin

write('введите величину шага h= ');

readln(h);

Write('введите начало интервала a= ');

readln(a);

{Write('введите конец интервала b= ');

readln(b);}

write('введите y(a)= ');

readln(y0);

n:=10; { количество приближенных решений в нашей таблице }

x0:=a;

for i:=1 to n do

begin

k1:=FF(x,y);

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

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

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

y:=f1(y,k1,k2,k3,k4);

writeln(' Y[',i,'] = ',y:2:4); { вывод таблицы приближенных решений }

x:=x0+i*h;

End;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]