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

OT_METOD_KP_ONOEOT

.pdf
Скачиваний:
18
Добавлен:
12.05.2015
Размер:
845.28 Кб
Скачать

з цього члена треба виводити лівий х. Проте поліном - це досить проста функція ; у випадках більш складних функцій можливі серйозні труднощі в формуванні з , а тому частіше використовуються метод хорд або метод дотичних (Ньютона).

Метод Хорд

По методу хорд уточнення кореня на відтинку

,

виконується

наступним чином:

 

Провівши хорду сd (рис. 8.1) знаходимо наближене значення кореня х=а+h

де h може бути розраховане внаслідок розгляду двох подібних трикутників ахс та хdb;

звідки:

Якщо розраховане значення h задовольняє умові

| |

, то уточнення

закінчують інакше виконується п.З.

 

 

 

З двох інтервалів

 

та

відбирається

той,

на кінцях якого

функція має різні знаки, тобто,

інтервал,

, у якому знаходиться уточнюваний

З (на рис. 8.2 -

).

 

 

 

 

 

коріньОбраний.

інтервал,

позначають

 

, для чого

відповідну границю

пересувають у точку х (у прикладі a, тобто,

а=х). Після чого повторюють дії

алгоритму, починаючи з пункту 1. Провівши відповідну хорду (c1d) отримують наступне наближення х, і т.д.

90

Рисунок 8.2 – Знаходження коренів методом хорд.

Метод Ньютона

У методі Ньютона уточненням х вважається пункт перетину дотичної, проведеної з с (або d), та вісі ОХ, отже; як і в методі хорд функція замінюється прямою лінією. Ідея методу може бути пояснена графічно, як і в методі хорд, або аналітично наступним чином:

Нехай S=x+h, де х наближене значення кореня, а h поправка до нього. Цю поправку можна знайти з розкладу функції у ряд Тейлора поблизу кореня.

0

`

 

з якого утримуються члени до n включно. Тоді

`

Оскільки при цьому h обчислюється з деякою похибкою (безкінечний ряд Тейлора обірваний на члені з h, то значення S=х+h не дає точного значення кореня, а є наступним наближенням до нього. Тому точне значення кореня може бути одержане з допомогою ітераційного процесу

`, 0,1,2,…

91

Ітераційний процес закінчують, якщо виконується умова

. На

сходження ітераційного процесу Ньютона інколи суттєво впливає| |

вибір

початкового наближення x0 . За початкове наближення треба брати той кінець інтервалу , , для якого виконується умова

``0

Якщо ця умова не виконується як для х0так і для х0=b, то інтервал

,занадто широкий і його слід зменшити описаним вище способом. Геометрична інтерпретація метода Ньютона полягає в тому що крива

знаходження наступного наближені замінюється прямою лінією - дотичною до кривої, проведеного в точці попереднього наближення xi-1. Перетин дотичної віссю OX дає чергове наближення.

Контрольні питання

1.Дайте опис методу Хорд.

2.Дайте опис методу Ньютона.

92

Комп’ютерний практикум №9

Розв’язок систем лінійних рівнянь

Мета

Опанування методи модульної побудови алгоритмів та їх реалізації за допомогою складних елементів алгоритмічної мови. Засвоїти методи розв’язку систем лінійних рівнянь.

Робоче завдання

Навчитись знаходити корені системи лінійних рівнянь за допомогою метода Гауса.

Хід роботи

Написати програму для розв’язку системи лінійних рівнянь виду [A][X]=[B] методом Гауса, де A матриця коефіцієнтів, B вільні члени системи рівнянь.

Варіанти завдань

 

 

A

 

 

B

 

.

 

.

 

.

.

1

 

 

 

.

 

.

 

.

 

2

. .

 

. .

 

. .

.

 

.

 

.

 

.

.

3

.

.

. .

 

. .

. .

 

 

 

 

.

.

 

.

.

4

 

. .

. .

 

..

..

 

 

.

.

 

.

.

 

 

.

.

 

.

.

5

 

.

.

.

.

.

 

 

.

.

 

.

 

 

.

.

.

 

.

6

 

.

.

.

.

.

 

 

.

.

 

.

 

 

.

.

.

 

.

7

 

.

.

.

.

.

 

 

.

.

 

.

 

 

.

.

 

.

.

 

A

 

B

12

.

.

.

.

 

.

.

.

.

13

. .

..

. .

..

 

.

.

.

.

14

. .

..

. .

. .

 

.

.

.

.

 

.

.

.

.

15

.

.

.

.

 

.

.

.

 

 

.

.

.

.

16

.

.

.

 

.

.

.

.

 

.

.

.

.

17

.

.

.

.

 

.

.

.

.

 

.

.

.

.

18

.

.

.

.

 

.

.

.

.

 

.

.

.

.

93

 

A

 

B

 

.

.

.

.

8

 

.

.

.

.

 

.

.

.

.

9

.

.

.

.

 

.

.

.

.

 

.

.

.

.

10

.

.

.

.

 

.

.

.

.

 

.

.

.

.

11

.

.

.

.

 

.

.

.

.

 

.

.

.

.

 

A

 

 

B

19

.

.

.

 

.

 

.

.

.

 

.

 

.

.

.

 

.

20

.

.

.

 

.

 

.

.

.

 

.

 

.

.

.

 

.

21

.

.

.

 

.

 

.

.

.

 

.

 

.

.

.

 

.

22

.

.

.

.

.

 

.

.

 

.

 

.

.

.

 

.

Стислі теоретичні відомості

Розв'язання систем лінійних алгебраїчних рівнянь

Лінійні алгебраїчні рівняння придатні для створення математичних моделей порівняно простих пристроїв та процесів, а розв'язання їх систем виду

(1)

абоуматричнійформізапису

[A][X]=[B] (2)

можливе прямими методами класичної математики, тобто їх точне розв'язання можна отримати за визначену певну кількість арифметичних дій. В системі (1) , 1.. , 1.. – відомі числові коефіцієнти, bi- відомі праві частини, а xi - обчислюваніневідомівеличини.

У практичних інженерних задачах матриця [A] майже завжди квадратна (т=п) та неособлива, тобто її визначник не дорівнює нулю. У разі, коли т>п маємо перевизначену систему, що не має розв'язку, а якщо m<n, то система недовизначена і має безліч розв'язків [X], що задовольняють її. Перший випадок свідчить про помилки при створенні математичної моделі явища, другий може мати місце в оптимізаційних задачах. Отже, далі вважатимемо, що матриця [A]

94

квадратна та неособлива, в наслідок чого її завжди можна обернути, одержавши матрицю [A]-1, а далі, помноживши ліву частину рівняння (2) на цю матрицю, отриматирівняння:

[X]=[A-1][B] (3)

якедозволяєвизначитиневідоміХi прямимиобчисленнями.

[A]-1[A][X]=[A]-1[B] [A]-1[A]=[E] [E][X]=[A]-1[B] [E][X]=[X] [X]=[A]-1[B]

Тут [E] - одинична матриця, тобто матриця, у якої головна діагональ має одиниці, а решта елементів нульові.

Метод Гауса

З прямих методів розв'язування систем лінійних алгебраїчних рівнянь найчастіше використовується метод Гауса та його модифікації. Обернена матриця A]-1 при цьому в явному вигляді не обчислюється. Процес розв'язання методом Гауса складається з двох чітко розмежованих етапів - прямого та зворотного «ходів». Етап прямого ходу є перетворення початкової системи рівнянь (1) в еквівалентну, що має наступний вигляд:

 

 

(4)

 

 

Здійснити таке перетворення можна послідовним повторенням n-1 раз наступних однотипних дій:

Коефіцієнти першого рівняння ділять на коефіцієнт a11

`

 

; `

 

;…; `

 

; `

 

 

 

95

В рівняння номер 2, 3,…,n замість невідомого x1, підставляється його формульне значення, одержане з першого рівняння

після чого зводяться подібні члени. Це по суті досягається коригуванням коефіцієнтів цих рівнянь по формулам:

`,

,

,

,

`

,

2.. ,

2..

В результаті перше рівняння системи отримує вигляд, потрібний для (4), а в решті рівнянь зникає невідоме x1. Ці n-1 рівняння розглядаються як початкова система й для них повторюються дії 1-2, що дозволяє отримати друге рівняння системи (4).

Послідовне повторення вказаних дій до того часу, поки система (1) не

перетвориться в одне рівняння, забезпечує одержання перетвореної системи

(4). Зауважимо, що для того щоб потрібні для перетворення дії було можливо

виконати, необхідно, щоб кожний діагональний («ведучий») коефіцієнт ai,j не

дорівнював нулю. Це можна забезпечити відповідною перестановкою у разі

необхідності рівнянь системи (1). Більше того, якщо діагональні, коефіцієнти

по модулю гарантовано більші

будь-якого

іншого коефіцієнта рівняння

,

то похибки

обчислень, що виникають

, , , , 1.. ,

внаслідок округлень та втрати останніх цифр, суттєво зменшуються. При перетасуванні рівнянь початкової системи по вказаному критерію вибору діагональних елементів домінуючими виникає модифікація метода Гауса «з вибором головного елемента».

Другий - кінцевий етап метода Гауса - Його «зворотній хід», веде до обчислення значень шуканого вектора [X] в зворотному циклі по перетвореній до вигляду (4) системі:

З останнього рівняння обчислюється xn;

96

Одержане числове значення xn підставляється в усі 1..(n-1) рівняння та зводяться подібні члени. Кількість рівнянь та невідомих x при цьому зменшується на одиницю, а останнє рівняння системи набуває вигляду xn- 1=bn-1. Далі 1-2 повторюються доти, поки не буде отримано числове значення невідомого x1.

Контрольні питання

1.Для розв’язання яких систем рівнянь (лінійних чи нелінійних) застосовується метод Гауса?

2.З яких основних етапів складається класичний метод Гауса?

3.Який результат перетворень на прямому ході метода Гауса?

4.Які перетворення системи рівнянь виконуються на прямому ході?

5.Що таке еквівалентна система рівнянь, які перетворення вважаються еквівалентними?

6.В чому полягає зворотній хід методу Гауса?

7.Скільки фундаментальних систем розв’язків має однорідна система рівнянь?

8.Чи може система лінійних алгебраїчних рівнянь мати три розв’язки?

97

Комп’ютерний практикум №10

Графічні функції програмного середовища

Мета

Засвоїти навички роботи з графічними функціями програмного середовища Turbo Pascal. Розуміти як відбувається ініціалізація графіки, виведення графічних зображень та управління режимами виводу.

Робоче завдання

Навчитись працювати з графічними функціями програмного середовища. Вміти використовувати процедури виведення графічних примітивів для вирішення поставлених задач. Навчитись будувати графічні зображення будь якої складності.

Хід роботи

Написати програму для вирішення поставленого завдання.

Варіанти завдань

1.Заповнити екран довільними колами (квадратами, трикутниками, дугами, секторами, еліпсами).

2.Заповнити екран довільними колами (квадратами, трикутниками , дугами , секторами , еліпсами) різного кольору.

3.Видати на екран різні фігур по черзі.

4.Зарисувати екран ламаною лінією (смугами, кривими з дуг ) .

5.Видати на екран серію кіл (квадратів, трикутників, дуг, секторів, еліпсів) з регулярним зміною їх координат.

6.Видати на екран серію кіл (квадратів, трикутників, дуг, секторів, еліпсів) з регулярним зміною їх розмірів.

7.Видати на екран серію кіл (квадратів, трикутників, дуг, секторів, еліпсів) з регулярним зміною їх координат, розмірів і кольору.

98

8.Видавати на екран різні серії фігур, що перериваються по сигналу з клавіатури.

9.Запрограмувати обертання відрізка (променя, лінії, прямокутника, кола).

10.Запрограмувати відображення відрізка (променя, лінії, прямокутника, кола) від заданої лінії.

11.Запрограмувати відображення відрізка (променя, лінії, прямокутника, кола) щодо заданої точки.

12.Запрограмувати " калейдоскоп " з різними фігурами всередині.

13.Написати програму повороту (перенесення) системи ліній (фігур) на заданий кут (задану відстань) .

14.Підготувати набір процедур для зображення плоских графів.

15.Запрограмувати розмальовку рядків тексту за вказівкою з клавіатури. (Можна вказувати діапазон рядків і номер їх кольору).

16.Запрограмувати розмальовку рядків тексту програми в залежності від мовної конструкції, розпізнаваної по першому символу (слова).

17.Запрограмувати розміщення написів на екрані (без накладення) .

18.Систему текстів на екрані обвести рамочками.

19.Розмістити тексти всередині заданої системи рамок (не враховуючи правил переносу текстів) .

20.Запрограмувати розміщення рамок для тексту, що допускає перекриття (частина однієї рамки закрита інший).

99

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