- •Содержание
- •Лабораторная работа № 1 Теория погрешностей и машинная арифметика Теоретическая часть
- •Практическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы №2 «Решение нелинейных уравнений».
- •Лабораторная работа №3
- •Решение систем линейных алгебраических уравнений
- •Теоретическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы №3 «Решение систем линейных алгебраических уравнений»
- •Лабораторная работа № 4 Приближение функций. Численное дифференцирование Теоретическая часть
- •Практическая часть
- •Практическая часть
- •Практическая часть
- •Вопросы к защите лабораторной работы № 6 «Численное решение задачи Коши»
- •Список литературы
- •Научно-методическое издание численные методы
- •430007, Г. Саранск, ул. Студенческая, 11а
Практическая часть
Задание 1. Дана
функция
.
Значения переменных указаны в варианте
со всеми верными цифрами. Оценить
погрешность результата, используя: a)
оценки погрешностей для арифметических
операций; b)
общую формулу погрешностей.
Результат представить в двух формах записи: с явным указанием погрешностей и с учетом верных цифр.
№ |
|
|
|
|
№ |
|
|
|
|
1 |
|
0.0125 |
0.283 |
0.0187 |
16 |
|
4.41 |
18.5 |
|
2 |
|
14.29 |
13.81 |
10.98 |
17 |
|
16.5 |
4.2 |
|
3 |
|
12.28 |
13.21 |
12.19 |
18 |
|
52.31 |
48.95 |
47.81 |
4 |
|
0.328 |
0.781 |
0.0129 |
19 |
|
4.81 |
4.52 |
9.28 |
5 |
|
14.85 |
15.49 |
|
20 |
|
16.21 |
16.18 |
21.23 |
6 |
|
12.31 |
0.0352 |
10.82 |
21 |
|
121 |
0.324 |
1.25 |
7 |
|
12.45 |
11.98 |
|
22 |
|
25.18 |
24.98 |
|
8 |
|
3.456 |
0.642 |
7.12 |
23 |
|
3.1415 |
3.1411 |
10.91 |
9 |
|
1.245 |
0.121 |
2.34 |
24 |
|
3.14 |
1.57 |
0.0921 |
10 |
|
13.12 |
0.145 |
15.18 |
25 |
|
14.85 |
15.49 |
|
11 |
|
0.643 |
2.17 |
5.843 |
26 |
|
5.325 |
5.152 |
5.481 |
12 |
|
0.3575 |
2.63 |
0.854 |
27 |
|
71.4 |
4.82 |
49.5 |
13 |
|
14.91 |
0.485 |
14.18 |
28 |
|
4.356 |
4.32 |
0.246 |
14 |
|
16.5 |
4.12 |
0.198 |
29 |
|
3.42 |
5.124 |
0.221 |
15 |
|
5.21 |
14.9 |
0.295 |
30 |
|
0.5761 |
3.622 |
0.0685 |
Задание 2. Вычислить
значение
и оценить абсолютную и относительную
погрешности результата, считая, что
значения исходных данных получены в
результате округления.
Записать результат с учетом погрешности.
№ |
|
№ |
|
1 |
|
16 |
|
2 |
|
17 |
|
3 |
|
18 |
|
4 |
|
19 |
|
5 |
|
20 |
|
6 |
|
21 |
|
7 |
|
22 |
|
8 |
|
23 |
|
9 |
|
24 |
|
10 |
|
25 |
|
11 |
|
26 |
|
12 |
|
27 |
|
13 |
|
28 |
|
14 |
|
29 |
|
15 |
|
30 |
|
Вопросы к защите лабораторной работы №1
«Теория погрешностей и машинная арифметика»
Источники и классификация погрешностей. Приближенные числа. Абсолютная и относительная погрешности. Верные и значащие цифры. Способы округления.
Погрешности арифметических операций над приближенными числами.
Погрешность вычисления функций одной и нескольких переменных.
ЛАБОРАТОРНАЯ РАБОТА № 2
Решение нелинейных уравнений
Теоретическая часть
Метод половинного деления (дихотомии или бисекции). Самым простейшим из методов уточнения корней является метод половинного деления, или метод дихотомии, предназначенный для нахождения корней уравнений, представленных в виде f(x)=0.
Пусть непрерывная функция f(x) на концах отрезка [a,b] имеет значения разных знаков, т.е.f(a) f(b)<0,тогда на отрезке имеется хотя бы один корень.
Возьмем середину отрезка с=(a+b)/2 (1). Если f(a)∙f(с)<0 (2),то корень явно принадлежит отрезку от a до (a+b)/2 и в противном случае от (a+b)/2 до b. Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)<ε.
Метод простой итерации. В данном методе уравнение f(x)=0 заменяется равносильным уравнением x=φ(x) и строится последовательность значений
(3).
Если функция φ(x)
определена и дифференцируема на некотором
интервале[a,
b]
и
на [a,
b],
то итерационный процесс xn=
φ(xn-1)
сходится к корню исходного уравнения
x
, также
содержащегося в интервале [a,
b].
Тогда
справедливы формулы:
;
и если требуется найти корень с точностью
ε, то кончаем итерационный процесс
тогда, когда
<ε
(4).
Уточнение корней методом касательных
(Ньютона). Пусть корень
ξ уравнения f(x)=0 отделен на отрезке [a,
b], причем первая и вторая производные
f'(x) и f''(x) непрерывны и сохраняют
определенные знаки при
.
Найдя какое-нибудь n-ое приближение
корня
мы можем уточнить его по методу Ньютона следующим образом.
Пусть ξ=xn+hn,
где hn
- величина малая. Отсюда по формуле
Тейлора получим: f(xn
+ hn)
≈ f(xn)+hn
f '(xn)=0.
Следовательно,
.Подставив
полученное выражение в формулу ξ=xn+hn,
найдем следующее значение корня:
Рекомендуется в качестве начального приближения х0 выбирать такую точку, где f(x0)f''(x0)>0.
Точность
вычисления определяется по формуле:
Метод хорд. Пусть
дано уравнение f(x)=0, где функция f(x)
определена и непрерывна на интервале
[a, b] и f(a)f(b)<0. Пусть для определенности
f(a)<0 и f(b)>0. Разделим отрезок [a, b] в
отношении - f(a):f(b). Это даст нам приближенное
значение корня x1
= a + h1,
где
.
Далее этот прием применяем к одному из
отрезков [a, x1]
или [x1,
b], на концах которого функция f(x) имеет
противоположные знаки. Аналогично
находим второе приближение x2
и т.д.
Полагая, что на отрезке [a, b] вторая производная f''(x) сохраняет постоянный знак, метод хорд сводится к двум различным вариантам:
1)
x0=b,
.
(7)
2)
x0=a,
.
(8)
Таким образом, для вычисления корня уравнения имеем две различные вычислительные формулы. За неподвижный конец выбираем тот конец, для которого знак функции f(x) совпадает со знаком второй производной f''(x). Точность вычисления определяется по формуле (6).
Алгоритм задачи решения уравнений методом дихотомии.
Задача. Уточнить корень уравнения sin2x-lnx=0 ,если функция f(x)=sin2x-lnx непрерывна на отрезке [1;1,5 ] и имеет на нем единственный корень.
Решение проведем, используя формулы (1) и (2).
Результат:
Корень: x=1,399429.
Алгоритм уточнения корня уравнения методом простой итерации.
Задача. Уточнить корень уравнения x*x*x – x – 1, отделенный на отрезке [1, 2] методом простой итерации с точностью 10-4.
Решение. Приведем уравнение к итерационному виду. Учитывая |f’(x)|=11, примем q=7. Используя формулы (3) и (4), получим:
x n+1 = x n – f(x)/7
|
A |
B |
C |
D |
E |
1 |
|
|
МЕТОД ИТЕРАЦИЙ |
|
|
2 |
|
|
|
|
|
3 |
|
|
|
|
|
4 |
№ |
x |
f(x) |
f1(x) |
1-f(x)/k |
5 |
1 |
1 |
=B5*B5*B5-B5-1 |
=3*B5*B5-1 |
=ABS(1-D5/F$2) |
6 |
2 |
=B5+0,1 |
=B6*B6*B6-B6-1 |
=3*B6*B6-1 |
=ABS(1-D6/F$2) |
7 |
3 |
=B6+0,1 |
=B7*B7*B7-B7-1 |
=3*B7*B7-1 |
=ABS(1-D7/F$2) |
8 |
4 |
=B7+0,1 |
=B8*B8*B8-B8-1 |
=3*B8*B8-1 |
=ABS(1-D8/F$2) |
9 |
5 |
=B8+0,1 |
=B9*B9*B9-B9-1 |
=3*B9*B9-1 |
=ABS(1-D9/F$2) |
10 |
6 |
=B9+0,1 |
=B10*B10*B10-B10-1 |
=3*B10*B10-1 |
=ABS(1-D10/F$2) |
11 |
7 |
=B10+0,1 |
=B11*B11*B11-B11-1 |
=3*B11*B11-1 |
=ABS(1-D11/F$2) |
12 |
8 |
=B11+0,1 |
=B12*B12*B12-B12-1 |
=3*B12*B12-1 |
=ABS(1-D12/F$2) |
13 |
9 |
=B12+0,1 |
=B13*B13*B13-B13-1 |
=3*B13*B13-1 |
=ABS(1-D13/F$2) |
14 |
10 |
=B13+0,1 |
=B14*B14*B14-B14-1 |
=3*B14*B14-1 |
=ABS(1-D14/F$2) |
15 |
11 |
=B14+0,1 |
=B15*B15*B15-B15-1 |
=3*B15*B15-1 |
=ABS(1-D15/F$2) |
продолжение таблицы
|
F |
G |
H |
1 |
|
|
|
2 |
7 |
K |
|
3 |
|
|
|
4 |
xx |
f(xx) |
g=x-f(x)/k |
5 |
1 |
=F5*F5*F5-F5-1 |
=F5-G5/F$2 |
6 |
=H5 |
=F6*F6*F6-F6-1 |
=F6-G6/F$2 |
7 |
=H6 |
=F7*F7*F7-F7-1 |
=F7-G7/F$2 |
8 |
=H7 |
=F8*F8*F8-F8-1 |
=F8-G8/F$2 |
9 |
=H8 |
=F9*F9*F9-F9-1 |
=F9-G9/F$2 |
10 |
=H9 |
=F10*F10*F10-F10-1 |
=F10-G10/F$2 |
11 |
=H10 |
=F11*F11*F11-F11-1 |
=F11-G11/F$2 |
12 |
=H11 |
=F12*F12*F12-F12-1 |
=F12-G12/F$2 |
13 |
=H12 |
=F13*F13*F13-F13-1 |
=F13-G13/F$2 |
14 |
=H13 |
=F14*F14*F14-F14-1 |
=F14-G14/F$2 |
15 |
=H14 |
=F15*F15*F15-F15-1 |
=F15-G15/F$2 |
16 |
=H15 |
=F16*F16*F16-F16-1 |
=F16-G16/F$2 |
17 |
=H16 |
=F17*F17*F17-F17-1 |
=F17-G17/F$2 |
Результат:
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
|
|
МЕТОД ИТЕРАЦИЙ |
|
|
|
|
|
2 |
|
|
|
|
|
7 |
K |
|
3 |
|
|
|
|
|
|
|
|
4 |
№ |
x |
f(x) |
f1(x) |
1-f(x)/k |
xx |
f(xx) |
g=x-f(x)/k |
5 |
1 |
1 |
-1 |
2 |
0,71429 |
1 |
-1 |
1,143 |
6 |
2 |
1,1 |
-0,769 |
2,63 |
0,62429 |
1 |
-0,65015 |
1,236 |
7 |
3 |
1,2 |
-0,472 |
3,32 |
0,52571 |
1 |
-0,34872 |
1,286 |
8 |
4 |
1,3 |
-0,103 |
4,07 |
0,41857 |
1 |
-0,16099 |
1,309 |
9 |
5 |
1,4 |
0,344 |
4,88 |
0,30286 |
1 |
-0,06791 |
1,318 |
10 |
6 |
1,5 |
0,875 |
5,75 |
0,17857 |
1 |
-0,02741 |
1,322 |
11 |
7 |
1,6 |
1,496 |
6,68 |
0,04571 |
1 |
-0,01085 |
1,324 |
12 |
8 |
1,7 |
2,213 |
7,67 |
0,09571 |
1 |
-0,00426 |
1,324 |
13 |
9 |
1,8 |
3,032 |
8,72 |
0,24571 |
1 |
-0,00167 |
1,325 |
14 |
10 |
1,9 |
3,959 |
9,83 |
0,40429 |
1 |
-0,00065 |
1,325 |
15 |
11 |
2 |
5 |
11 |
0,57143 |
1 |
-0,00026 |
1,325 |
16 |
|
|
|
|
|
1 |
-1E-04 |
1,325 |
17 |
|
|
|
|
|
1 |
-3,9E-05 |
1,325 |
Алгоритм решения на языке TMTPascal.
Задача. Решить уравнение итерационного вида x-0.5*(x*x*x-sin(x))=0, уточнить корень на отделенном отрезке.
program metod_prostoy_iterazii;
var a,b,x,y,eps: real;
i: byte;
BEGIN
write('Vvedite tocnost:','eps=');read(eps);
write('a=');read(a);
write('b=');read(b);
x:=a+0.1;
i:=0;
while abs(y-x)>=eps do
begin
i:=i+1;
y:=x-0.5*(x*x*x-sin(x));
x:=y;
end;
writeln('x=',x:10:3);
write('shag:',i);
END.
Алгоритм уточнения корня уравнения методом Ньютона.
Задача. Уточнить корень уравнения sin2x-lnx=0 методом Ньютона на отрезке [1,3;1,5] с точностью 10-4.
Решение. Для проверки точности положим m=2,4. Используя формулы (5) и (6), получим:
Результат:
Корень: x=1,39943.
Алгоритм уточнения корня уравнения методом хорд.
Задача. Уточнить корень уравнения sin2x-lnx=0 методом хорд на отрезке [1,3;1,5] с точностью 10-4.
Решение. Определим точки с=1,5 и x0=1,3. Используя формулы (6), (7), (8) и принимая m=2,4, получим:
Результат:
Корень: x=1,3994104.
