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

Численные методы. Методические указания к выполнению лабораторных работ

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
990 Кб
Скачать

Лабораторная работа №2

Решение нелинейного алгебраического уравнения (метод деления

отрезка пополам, метод касательных, метод хорд)

1. Методические указания к выполнению работы

 

Всякое уравнение с одним неизвестным имеет вид

 

( ) = ,

(1)

где ( ) − заданная функция, определенная на некотором числовом множестве X. Совокупность значений переменной X, при которых уравнение

превратится в тождество, называется решением этого уравнения, а каждое зна-

чение X из этой совокупности – корнем уравнения. Нахождение корней уравне-

ния с помощью точных аналитических формул выполняется в частных случаях.

В большинстве практически встречающихся уравнений их решение можно вы-

полнить только приближенными методами.

Приближенное определение изолированных действительных корней уравнения ( ) = состоит из двух этапов:

1.Отделение корней.

2.Уточнение приближенных корней.

Для отделения корней достаточно провести процесс половинного деле-

ния, приближенно деля данный интервал [ ; ] на две, четыре и т. д. равные ча-

сти и определяя знаки функции ( ) в точках деления.

Основное внимание в данной работе будет уделено методам, позволяю-

щим уточнить приближенные значения корней, т. е. довести их до заданной степени точности.

Метод деления отрезка пополам

Для нахождения корня уравнения (1) заданный интервал [ ; ], содержа-

щий отдельный корень, делится пополам: с = + .

11

Если = , то = + является корнем уравнения (1). Если ( ) ≠ ,

то выбирается та половина интервала [ ; ] или [ ; ], на концах которой функция имеет противоположные знаки, т. е. прове-

I=1

ряется условие

 

 

с=(a+b)/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

f(a)f(с)<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

даb= с

 

 

a= с

I=I+1

нет

|b-

да

х=(a+b)/2

Рис.6. Блок-схема алгоритма метода половинного деления

( ) ∙ ( ) < .

Если это условие выполняется, то производится

переприсваивание = , в противном

случае

= . Затем суженный отрезок

[ ; ]

вновь

делится пополам и т.д.

 

 

Эти действия проводятся до тех пор, пока не будет выполнено условие:

| − | ≤ ,

где [ ; ] – значения аргумента на концах постоянно сужающегося интервала; ε – заданная точность расчета.

Блок-схема метода половинного деления представлена на рис.6.

Метод касательных

Суть этого метода легко объясняется графиком, иллюстрирующим соответствующий метод. Предположим, что ( ) > и ( ) > (рис. 7).

Из точки B проведем касательную к кривой = ( ).

Точка ее пересечения с

осью абсцисс даст первое приближение корня .

 

 

(

 

( )

 

′′( )

(

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ζ

2

1

 

 

 

(

 

 

 

 

 

 

 

 

 

 

Рис.7. Графическая интерпретация метода касательных

12

( )

Второе приближение можно получить, проведя касательную из точки с координатами [ , ( )] и т. д. Как видно из рис.7, приближенные значения корня сходятся к их точному значению ζ.

За начальное приближение следует выбирать тот конец интервала, в котором знак функции ( ) и ее второй производной ′′( ) совпадают.

Расчетная формула метода касательных имеет следующий вид:

+1 = − ( ) .

Оценка погрешности метода производится по формуле

 

 

 

 

 

 

| −

| ≤

2

(

 

 

− )2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

 

где – наименьшее значение

| ( )|;

 

– наибольшее значение

| ( )| на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отрезке [ ; ].

При

,

где

N – неко-

 

 

 

 

 

 

 

торое число, имеем

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

f′(a)*f″ (a)>0

 

 

 

 

 

 

 

 

| − |

≤ |

− |.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

да

 

 

 

 

 

 

 

 

 

Блок-схема

 

метода

касательных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

представлена на рис.8.

 

 

 

 

x=a

 

 

x=b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод хорд

i=1

d=|x1-x|

i=i+1

x=x1

нет

да

 

d< ε

Рис.8. Блок-схема алгоритма метода касательных

Для определенности положим

( ) >

при ≤ ≤ . Тогда кривая = ( ) будет выпукла вниз. Возможны два случая:

1) ( ) > ; 2) ( ) < .

Рассмотрим первый случай (рис.9а). Соединяем хордой точки A и B. Ме-

сто пересечения прямой с осью абсцисс дает первое приближение корня . Затем, соединяя между собой точки A и [ , ( )], получим второе приближение и т. д.

Во втором случае (рис.9б) рассуждения проводятся аналогично.

13

( ) ( )

′′( )>0

 

 

 

 

1

 

 

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ζ

 

 

 

(1)

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 9а. Метод хорд (( ) > )

На рис.9а неподвижен конец A, а на рис.9б конец B, и в том и в другом примере приближения сходятся к точному значению корня.

Таким образом, неподвижен тот конец, для которого знак функции ( ) совпадает со знаком ее второй производной ′′( ).

( )

 

( )

 

′′( )>0

0

 

 

А

 

 

2

1

 

 

 

 

 

 

 

 

 

 

ζ

 

 

 

 

 

 

 

 

 

( )

 

 

Рис. 9б. Метод хорд (( ) < )

Здесь рассмотрены два варианта поведения функции ( ), при других видах функции последовательность расчетов сохраняется.

Каждое последующее приближение корня в зависимости от значения предыдущего определяется по формуле

14

 

 

(

) ∙ ( −

)

 

 

 

= −

 

 

 

,

= 0, 1, 2, …,

 

 

 

+1

 

( ) − ( )

 

 

 

 

 

 

 

 

 

 

где , ( ) – значения аргумента и функции в неподвижном конце.

Блок-схема данного метода представлена на рис.10.

i=0

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (a)<0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( − ) ( )

 

 

 

 

 

 

 

( − )( )

 

 

 

= −

 

 

 

 

 

 

 

 

 

 

= −

 

 

 

 

 

 

 

 

 

( ) − ( )

 

 

( ) − ( )

 

 

 

 

+1

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= |

− |

 

 

 

 

 

 

 

 

= |

− |

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=i+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=i+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

d<e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d<e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10. Блок - схема алгоритма метода хорд

Оценка погрешности производится по выражению

| − | ≤ | + − |,

где и – соответственно наибольшее и наименьшее значения

| ( )| на отрезке.

15

Если отрезок [ ; ] столь узок, что имеет место неравенство , то формула упрощается:

 

 

| − |

≤ |

|.

 

 

 

 

 

 

+

 

 

 

 

Таким

образом,

как

 

только

 

будет

обнаружено,

что

 

 

|

 

− | ≤ ,

 

 

 

 

 

+

 

 

 

 

 

 

то гарантировано, что |ξ − xn| ≤ ε.

 

 

 

 

 

 

2.

 

Задание

 

 

 

Используя заданный итерационный метод, составить программу вычис-

ления корня

уравнения

f( ) = 0

на

отрезке [ ; ]

с точностью

=

10−2; 10−3; 10−4; 10−5.

 

 

 

 

 

 

 

3.Порядок выполнения лабораторной работы

1.Изучить свой вариант задания (см. стр.19).

2.Разработать блок-схему алгоритма решения задачи.

3.Составить программу решения задачи.

3.1.Использовать подпрограмму-функцию для вычисления f(x) и f′(x).

3.2.Использовать подпрограмму для вычисления корня уравнения с точностью заданным методом.

3.3.В программе сделать проверку принадлежности корня заданному отрезку [ ; ] (т.е. ( ) ( ) < 0). Если корня на данном отрезке нет, то напечатать соответствующее сообщение и самостоятельно подобрать значения a,b.

3.4.

В программе точность

задавать как массив из четырех значений.

3.5.

Результаты представить в виде таблицы.

 

4. Составить отчет по лабораторной работе.

 

 

 

 

 

Точность

 

Корень

Кол-во итераций

 

 

 

 

= 10−2

 

 

 

 

 

 

 

= 10−3

 

 

 

 

 

 

 

= 10−4

 

 

 

 

 

 

 

= 10−5

 

 

 

 

 

 

 

 

 

 

 

16

 

Алгоритм вычисления корня уравнения

1. Вычислить ( ) ∙ ( ) < 0 – определение принадлежности корня за-

данному отрезку [ ; ].

2. Если корня на данном отрезке нет, то напечатать сообщение об отсут-

ствии корней на данном интервале.

3. Если корень на данном интервале присутствует, то вычислить при-

ближение корня.

4. Находится модуль разности значений = | +1 − | и сравнивает-

ся с заданной погрешностью ε.

5. Если модуль разности не превышает ε, то последняя вычисленная точка xi считается корнем уравнения (рис.11).

4.Контрольные вопросы

1.Из каких этапов состоит процесс нахождения корней?

2.Как определить наличие корня уравнения на заданном интервале?

3.Что называется решением и корнем уравнения?

4.Напишите рабочие формулы заданных преподавателем методов.

5.Дайте геометрическую интерпретацию указанных методов.

6.Рассказать два варианта поведения функции f(x) при вычислении корня методом хорд.

7.Как найти начальное приближение в методах хорд и касательных?

8.Как производится оценка погрешности изучаемых методов?

17

 

начало

 

Ввод ,

 

нет

 

( )( )

 

да

 

Начало цикла k=1,4

Вывод

 

сообщения

Ввод

«корней нет»

 

 

 

Конец цикла по k

 

Начало цикла k=1,4

 

П/п вычисле-

 

ния корня с

 

точностью

 

Вывод , ,

 

 

 

Конец цикла по k

 

конец

Рис.11. Блок-схема алгоритма вычисления корня уравнения

18

 

 

5.

 

Варианты заданий

 

 

 

 

 

 

 

 

 

 

 

Номер

 

 

 

Функция

Отрезок

Номер

варианта

 

 

 

 

f(x)

[ ; ]

метода

1

 

4 + 0,5 3 − 4 2 − 3 − 0,5 = 0

[2; 3]

1

 

 

 

 

 

 

 

 

 

2

2

− 1,3 ln( + 0,5) − 2,8 + 1,15 = 0

[2; 4]

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

sin( ) − 0,2 = 0

[0,5; 3]

3

 

 

 

 

 

 

 

 

 

4

 

 

 

( ) − = 0

[1; 2]

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

5 − − 0,2 = 0

[0,9; 1,1]

2

 

 

 

 

 

 

6

 

 

 

5 3 − − 1 = 0

[0,1; 0,8]

3

 

 

 

 

 

 

 

 

 

7

 

 

 

3 + − 1000 = 0

[9,1; 10]

1

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2( ) −

 

3

2(2 ) = 0

 

 

8

 

3

4

[0; 1]

2

 

 

 

 

 

 

 

 

9

 

(4 + 2)( − ) − 18 = 0

[1; 2],

3

 

 

 

 

 

 

 

10

 

 

 

3 − 2 − 5 = 0

[1; 3]

1

 

 

 

 

 

 

 

11

 

 

 

2 − 1 = 0

[0; 1]

2

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

− ( + 0,5) − 0,5 = 0

[0; 2]

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

− 3 ( ) − 5 = 0

[2; 4,5]

1

 

 

 

 

 

 

 

 

 

 

 

 

14

 

3 − 0,2 2 − 0,2 − 1,2 = 0

[0,5; 2]

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

3 − 4cos( ) − 3 = 0

[0; 2,5]

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

 

 

Лабораторная работа №3

Решение системы линейных алгебраических уравнений

1. Методические указания к выполнению работы

Методы решения систем линейных алгебраических уравнений делятся на точные и приближенные. К точным относятся, например, правило Крамера,

метод Гаусса, метод главных элементов, метод квадратных корней и др. К при-

ближенным – методы итерации, Зейделя, релаксации и др. Рассмотрим неко-

торые из них.

Метод Гаусса

 

Пусть дана система трех уравнений с тремя неизвестными

 

11 1 + 12 2 + 13 3 = 14 ,

 

{ 21 1 + 22 2 + 23 3 = 24 ,

(1)

31 1 + 32 2 + 33 3 = 34 .

 

Допустим 11 ≠ 0 (ведущий элемент). Разделив коэффициенты первого

уравнения системы (1) на 11 , получим

 

 

1 + 12 2 + 13 3 = 14,

(2)

где

 

 

 

 

 

=

1

(j=2, 3, 4).

 

 

 

1

 

11

 

 

 

 

 

 

С помощью уравнения (2) исключается неизвестная 1

из системы (1).

Для этого необходимо из второго уравнения системы (1) вычесть уравнение (2),

умноженное на 21 , и из третьего уравнения системы вычесть (2), умноженное на 31.

В результате получим следующую систему уравнений:

 

 

 

 

(1)

 

+ (1)

 

= (1)

,

 

 

 

 

{

22

2

23

3

24

 

(3)

 

 

 

 

(1)

 

+

(1)

 

=

(1)

,

 

 

 

 

 

 

 

 

 

32

33

 

 

 

 

 

 

 

2

 

3

34

 

 

где коэффициенты

(1) вычисляются по формуле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1)

=

 

 

 

 

 

( = 2,3 и = 2,3,4) .

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

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