- •Содержание
- •Лабораторная работа № 1 Теория погрешностей и машинная арифметика Теоретическая часть
- •Практическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы №2 «Решение нелинейных уравнений».
- •Лабораторная работа №3
- •Решение систем линейных алгебраических уравнений
- •Теоретическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы №3 «Решение систем линейных алгебраических уравнений»
- •Лабораторная работа № 4 Приближение функций. Численное дифференцирование Теоретическая часть
- •Практическая часть
- •Практическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы № 6 «Численное решение задачи Коши»
- •Список литературы
- •Научно-методическое издание численные методы
- •430007, Г. Саранск, ул. Студенческая, 11а
Практическая часть
Задание 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
«Численное интегрирование»
Простейшие квадратурные формулы (формулы правых, левых, центральных прямоугольников, формула трапеций, формула Симпсона), геометрическая иллюстрация, оценки погрешности. Точность квадратурных формул.
Квадратурные формулы интерполяционного типа: вывод формул, оценки погрешности.
Квадратурные формулы Гаусса: вывод формул, точность формул.
Метод Монте-Карло.
ЛАБОРАТОРНАЯ РАБОТА №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.
