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

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

Задание 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

«Теория погрешностей и машинная арифметика»

  1. Источники и классификация погрешностей. Приближенные числа. Абсолютная и относительная погрешности. Верные и значащие цифры. Способы округления.

  2. Погрешности арифметических операций над приближенными числами.

  3. Погрешность вычисления функций одной и нескольких переменных.

ЛАБОРАТОРНАЯ РАБОТА № 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.

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