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

303208

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
778.13 Кб
Скачать
Лабораторная работа №2 Решение нелинейного алгебраического уравнения
(метод деления отрезка пополам, метод касательных, метод
1. Методические указания к выполнению работы
Всякое уравнение с одним неизвестным имеет вид
( ) = ,

хорд)

(1)

где ( ) − заданная функция, определенная на некотором числовом множе-

стве X. Совокупность значений переменной X, при которых уравнение превратится в тождество, называется решением этого уравнения, а каждое значение X из этой совокупности – корнем уравнения. Нахождение корней уравнения с помощью точных аналитических формул выполняется в частных случаях. В большинстве практически встречающихся уравнений их решение можно вы-

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

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

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

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

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

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

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

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

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

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

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

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

ция имеет противоположные знаки, т. е. проверяется условие

11

I=1

с=(a+b)/2

нет

f(a)f(с)<0

 

даb= с

 

 

 

 

 

a= с

 

 

 

 

 

I=I+1

нет

|b-a|<e

да

х=(a+b)/2

( ) ∙ ( ) < .

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

дится переприсваивание = , в противном случае = . Затем суженный отрезок

[; ] вновь делится пополам и т.д.

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

| − | ≤ ,

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

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

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

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

 

 

метода половинного деления

Суть этого метода легко объясняется

 

графиком, иллюстрирующим соответствующий метод.

Предположим, что

( ) > и ( ) > (рис. 7).

 

 

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

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

 

 

 

 

 

 

( )

 

( )

′′( )>0

(1)

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ζ

2

1

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

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

12

( )

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

За начальное приближение следует выбирать тот конец интервала, в ко-

тором знак функции ( ) и ее второй производной ′′( ) совпадают. Расчетная формула метода касательных имеет следующий вид:

+1 = − ( ) .

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

| − | ≤ 2 ( +1 − )2, 21

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

нет

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

да

 

 

x=a

 

 

 

 

 

x=b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x

f xi

 

 

 

f ' xi

 

 

 

 

d=|x1-x|

i=i+1

x=x1

нет

да

 

d< ε

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

| ( )|; – наибольшее значение | ( )| на

 

 

отрезке [; ]. При

, где N – неко-

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

 

| − | ≤ | +1 − |.

Блок-схема метода касательных пред-

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

Метод хорд

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

( ) >

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

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

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

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

получим второе приближение и т. д.

13

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

( ) ( )

′′( )>0

0

 

2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ζ

 

 

 

( 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. Результаты представить в виде таблицы:

16

Точность

Корень

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

 

 

 

= 10−2

 

 

 

 

 

= 10−3

 

 

 

 

 

= 10−4

 

 

 

 

 

= 10−5

 

 

 

 

 

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

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

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

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

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

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

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

4.

Находится модуль разности значений

= |

− | и сравнивается с

 

 

 

+1

 

 

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

 

 

5.

Если

модуль разности не превышает ε,

то последняя вычисленная точ-

 

ка xi

считается корнем уравнения (рис.11).

 

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

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

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

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

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

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

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

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

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

17

 

начало

 

Ввод ,

 

нет

 

( )( ) < 0

 

да

 

Начало цикла 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,3ln( + 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;

]

3

 

 

 

 

 

 

 

 

0,8

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

3 + − 1000 = 0

 

[9,1;10]

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2( ) −

3

2(2 ) = 0

 

 

 

 

 

8

 

 

 

 

 

 

[0;

1]

2

 

3

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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)

3

= (1)

,

 

 

 

 

 

 

{

22

2

23

24

 

(3)

 

 

 

 

 

(1)

 

+ (1)

= (1),

 

 

 

 

 

 

 

 

 

 

 

 

 

32

2

33

3

34

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1)

=

 

1

 

 

 

( = 2,3 и

= 2,3,4) .

 

 

 

1

 

 

 

 

 

 

20

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