Решение нелінійного рівняння методом касательных
На етапі 4 складається програма мовою Турбо-Паскаль. При описі програми необхідно використовувати характерні прийоми програмування й уміти враховувати специфіку мови. Як мови програмування обраний мову ПАСКАЛЬ через її наочності і полегшеного розуміння для початківців програмістів, і навіть можливості й надалі використовуватиме рішення більш важких задач. Геометричний сенс методу дотичних полягає… Читати ще >
Решение нелінійного рівняння методом касательных (реферат, курсова, диплом, контрольна)
Пензенский приладобудівний колледж.
на тему:
Метод дотичних рішення нелінійних уравнений.
Виконав: Ст-т 22п групи ЛЯПИН Р.Н.
Перевірила: ______________.
Ковылкино — 1999 г.
ЗАВДАННЯ НА КУРСОВУ РАБОТУ.
студент Ляпин Р. Н. група 22п.
1. Тема: «Метод дотичних рішення нелінійних рівнянь ». 2. Вивчити теоретичний матеріал по заданої темі. 3. Скласти блок схему алгоритму виконання завдання. 4. Написати програму мовою Турбо-Паскаль на вирішення завдання у загальному вигляді. 5. Виконати програму з конкретними значеннями вихідних даних. 6. Визначити коріння рівняння х3 + 0,1 * х2 + 0,4 * x — 1,2 = 0 аналітично і уточнити них з точністю до 0,1 методом касательных.
7. Термін уявлення роботи до захисту: 10 травня 1999 р. 8. Вихідні дані на дослідження: наукова і технічна литература.
Керівник курсової роботи: Кривозубова С.А.
Завдання прийняв до виконання: Ляпин Р.Н.
РЕФЕРАТ.
Курсова робота містить: сторінок, 1 графік, 5 источников.
Перелік ключових понять: похідна, метод дотичних, програмування, нелінійне уравнение.
Об'єкт дослідження: Коріння нелінійного уравнения.
Мета роботи: Визначення коренів нелінійного уравнения.
Методи дослідження: вивчення робіт вітчизняних і іноземних авторів з цієї теме.
Отримані результати: вивчений метод дотичних рішення нелінійних рівнянь; розглянута можливість складання програми мовою програмування Турбо-Паскаль 7.0.
Область застосування: у роботі инженера.
стр.
| |.
ЗАПРОВАДЖЕННЯ… 5.
1. Короткий опис сутності методу касательных.
(методу січних Ньютона)… 7.
2. Рішення нелінійного рівняння аналітично. 9.
3. Блок схема програми … 11.
4. Програма мовою PASCAL 7.0 … 12.
5. Результати виконання програми … 13.
СПИСОК ИСПОЛЬЗОВАННИХ ИСТОЧНИКОВ … 14.
| |.
Процедура підготовки й виконання завдання на ЕОМ досить складний і трудомісткий процес, що з наступних этапов:
1. Постановка завдання (завдання, яке доведеться вирішувати на ЕОМ, формулюється користувачем чи виходить їм у вигляді завдання). 2. Математична формулювання завдання. 3. Розробка алгоритму виконання завдання. 4. Написання програми мовою програмування. 5. Підготовка вихідних даних. 6. Введення програми розвитку й вихідних даних в ЕОМ. 7. Налагодження програми. 8. Тестування програми. 9. Рішення завдання на ЕОМ та обробка результатов.
У даний курсової роботі умова завдання дано в математичної формулюванні, тому потреба у виконанні етапів 1 і 2 відпадає і відразу можна розпочати розробці алгоритму виконання завдання на ЕОМ. Під алгоритмом розуміється послідовність арифметичних і логічних дій над числовими значеннями змінних, що призводять до вирахування результату виконання завдання за зміни вихідних даних у досить межах. Отже, розробки алгоритму виконання завдання математична формулювання перетворюється на процедуру рішення, яка була послідовність арифметичних діянь П. Лазаренка та логічних перетинів поміж ними. У цьому алгоритм має такими властивостями: детерминированностью, що означає, що «застосування алгоритму до у тому ж вихідним даним має призводити до одного й те вже результату; масовість, яка дозволяє отримувати результат що за різних вихідних даних; результативністю, які забезпечують отримання результату через кінцеве число шагов.
Найбільш наочним способом описи алгоритмів є опис його як схем. У цьому алгоритм представляється послідовність блоків, виконують певні функції, і перетинів поміж ними. Усередині блоків вказується інформація, характеризує що їх ними функції. Блоки схеми мають наскрізну нумерацию.
Конфігурація й розміри блоків, і навіть порядок побудови схем визначаються ГОСТ 19.002−80 і ГОСТ 19.003−80.
На етапі 4 складається програма мовою Турбо-Паскаль. При описі програми необхідно використовувати характерні прийоми програмування й уміти враховувати специфіку мови. Як мови програмування обраний мову ПАСКАЛЬ через її наочності і полегшеного розуміння для початківців програмістів, і навіть можливості й надалі використовуватиме рішення більш важких задач.
Етапи алгоритмізації та програмування є трудомісткими, тому їм приділяється велика внимание.
У процесі виконання курсової роботи студент готує вихідні дані, вводить програму і вихідні дані. Працюючи введення програми розвитку й вихідних даних здійснюється з клавіатури дисплея.
Налагодження програми полягає у виявленні і виправленні помилок, допущених всіх етапах підготовки завдань до вирішення на ПЕОМ. Синтаксис помилки можна знайти компілятором, який видає повідомлення, указывающее місце і тип помилки. Виявлення семантичних помилок складає етапі тестування програми, у якому перевіряється правильність виконання програми на спрощений варіант вихідних даних чи з допомогою контрольних точок чи режимі покрокового исполнения.
Завдання при обробці на ЕОМ проходить ряд кроків: компіляцію, редагування (компонування) і выполнение.
Обробка результатів виконання завдання здійснюється з допомогою ЕОМ. Виведені результати оформлені як, зручному для восприятия.
1. Короткий опис сутності методу касательных.
(методу січних Ньютона).
Нехай на відрізку [a; b] відділений корінь з рівняння f (x) = 0 і fфункція безупинна на відрізку [a; b], але в інтервалі ]a; b[ існують які від нуля похідні f ' і f «.
Оскільки f '(x)? 0, то запишемо рівняння f (x) = 0 як :
x = x — (f (x) / f '(x)) (1).
Вирішуючи його методом ітерацій можемо записати :
xn+1 = x n- (f (x n) / f '(x n)) (2).
Коли відрізку [a;b] f '(x) * f «(x) > 0, то нул — евое наближення вибираємо x0=a. Розглянемо геометричний сенс методу. Розглянемо графік функції y=f (x). Нехай для визначеності f ‘(x) > 0 і f «(x) > 0 (рис. 1). Проведемо дотичну до графіка функції у точці B (b, f (b)). Її рівняння матиме вид :
y = f (b) + f '(b) * (x — b).
Вважаючи в рівнянні y = 0 та враховуючи що f '(x)? 0, вирішуємо його щодо x. Одержимо :
x = b — (f (b) /f ‘(b)).
Знайшли абсциссу x1 точки c1 перетину дотичній з віссю ox :
x1 = b — (f (b) — f ' (b)).
Проведемо дотичну до графіка функції у точці b1 (x1; f (x1)).Найдем абсциссу x2 точки с2 перетину дотичній з віссю Ox :
x2 = x1 — (f (x1) / (f '(x1)).
Взагалі: xk+1 = x k — (f (x k) / f '(x k)) (3).
Отже, формула (3) дає послідовні наближення (xk) кореня, отримані з рівняння дотичній, проведеної до графіка функції у точці b k (x k; f (x k0) метод уточнення кореня з [a;b] рівняння f (x) = 0 з допомогою формули (3) називається методом дотичній чи методом Ньютона.
Геометричний сенс методу дотичних полягає у заміні дуги y = f (x) дотичній, однієї до однієї з крайніх точок. Початкова наближення x 0 = a чи x0 = b брати таким, щоб вся послідовність наближення x k належала інтервалу ]a;b[. Що стосується існування похідних f ', f «, які зберігали свої знаки в інтервалі, за х0 береться той кінець відрізка [a;b], котрій виконується умова f '(х0) * f (х0) > 0. Для оцінки наближення використовується загальна формула :
|c-x k-1 |? | f (x k+1)/m|, де m = min f '(x) на відрізку [a;b] .
Насправді простіше користуватися іншим правилом :
Коли відрізку [a;b] виконується умова 0 < m < | f (x)| і? — задана точність рішення, то нерівність | x k+1-x k|? ? тягне виконання нерівності |c-x k-1|? ? .
І тут процес послідовного наближення продовжують до тих пір, доки виконане буде нерівність :
|c-x k-1|? ? .
2. Рішення нелінійного рівняння аналитически.
Визначимо коріння рівняння х3 + 0,1×2 + 0,4х — 1,2 = 0 аналітично. Знаходимо: f (x) = х3 + 0,1×2 + 0,4х — 1,2 f ‘ (x) = 3×2 + 0,1х + 0,4.
f (-1) = -2,5 < 0 f (0) = -1,2 < 0 f (+1) = 0,3 > 0.
|x |-? |-1 |0 |+1 |+? | |sign f (x) |- |- |- |+ |+ |.
Отже, рівняння має дійсний корінь, лежить у проміжку [ 0; +1 ].
Наведемо рівняння до виду x =? (x), так, щоб |? ‘ (x) | з do {Перевірка точності обчислення корня}.
begin {Тіло циклу} xn:=xn1; xn1:=f1(xn); y0:= f2(xn1);
{Печатка проміжного результата}.
Writeln («xn= «, xn, «xn+1= «, xn1, «f (xn+1)= «, y0);
Readln; { Чекання натискання клавіші Enter} end; {Кінець тіла цикла}.
Writeln («Кінцеві значення »); {Печатка отриманого результата}.
Writeln («xn+1= «, xn1, «f (xn+1)= «, y0);
Readln; { Чекання натискання клавіші Enter} end. {Кінець основного тіла программы}.
5. Результати виконання программы.
Від A= 0.00E+00 до B= 1.00E+00 Похибка з= 1.00E-08 Від A= 0.00E+00 до B= 1.00E+00 Похибка з= 1.00E-08.
xn= 8.500 000 0000E-01 xn+1= 9.368 125 0000E-01 f (xn+1)= 8.464 996 0270E-02 xn= 9.368 125 0000E-01 xn+1= 8.944 875 1986E-01 f (xn+1)=-4.650 764 7892E-02 xn= 8.944 875 1986E-01 xn+1= 9.177 413 4381E-01 f (xn+1)= 2.428 834 3840E-02 xn= 9.177 413 4381E-01 xn+1= 9.55 971 7189E-01 f (xn+1)=-1.306 461 7920E-02 xn= 9.55 971 7189E-01 xn+1= 9.121 294 8085E-01 f (xn+1)= 6.923 469 9658E-03 xn= 9.121 294 8085E-01 xn+1= 9.86 677 4587E-01 f (xn+1)=-3.699 070 2320E-03 xn= 9.86 677 4587E-01 xn+1= 9.105 172 8099E-01 f (xn+1)= 1.967 896 0780E-03 xn= 9.105 172 8099E-01 xn+1= 9.95 333 3295E-01 f (xn+1)=-1.49 324 9720E-03 xn= 9.95 333 3295E-01 xn+1= 9.100 579 9543E-01 f (xn+1)= 5.588 409 1853E-04 xn= 9.100 579 9543E-01 xn+1= 9.97 785 7497E-01 f (xn+1)=-2.978 168 1224E-04 xn= 9.97 785 7497E-01 xn+1= 9.99 274 8338E-01 f (xn+1)= 1.586 571 7614E-04 xn= 9.99 274 8338E-01 xn+1= 9.98 481 5480E-01 f (xn+1)=-8.453 770 3515E-05 xn= 9.98 481 5480E-01 xn+1= 9.98 904 2365E-01 f (xn+1)= 4.504 000 9354E-05 xn= 9.98 904 2365E-01 xn+1= 9.98 679 0364E-01 f (xn+1)=-2.399 767 6180E-05 xn= 9.98 679 0364E-01 xn+1= 9.98 799 0248E-01 f (xn+1)= 1.278 580 0209E-05 xn= 9.98 799 0248E-01 xn+1= 9.98 735 0958E-01 f (xn+1)=-6.812 288 1203E-06 xn= 9.98 735 0958E-01 xn+1= 9.98 769 1573E-01 f (xn+1)= 3.629 567 8001E-06 xn= 9.98 769 1573E-01 xn+1= 9.98 751 0095E-01 f (xn+1)=-1.933 827 6616E-06 xn= 9.98 751 0095E-01 xn+1= 9.98 760 6786E-01 f (xn+1)= 1.30 342 9008E-06 xn= 9.98 760 6786E-01 xn+1= 9.98 755 5269E-01 f (xn+1)=-5.489 619 0704E-07 xn= 9.98 755 5269E-01 xn+1= 9.98 758 2717E-01 f (xn+1)= 2.924 880 3912E-07 xn= 9.98 758 2717E-01 xn+1= 9.98 756 8093E-01 f (xn+1)=-1.558 346 4119E-07 xn= 9.98 756 8093E-01 xn+1= 9.98 757 5885E-01 f (xn+1)= 8.303 140 9304E-08 xn= 9.98 757 5885E-01 xn+1= 9.98 757 1733E-01 f (xn+1)=-4.423 600 3305E-08 xn= 9.98 757 1733E-01 xn+1= 9.98 757 3945E-01 f (xn+1)= 2.357 228 3681E-08 xn= 9.98 757 3945E-01 xn+1= 9.98 757 2766E-01 f (xn+1)=-1.255 830 2842E-08 xn= 9.98 757 2766E-01 xn+1= 9.98 757 3394E-01 f (xn+1)= 6.692 062 0156E-09.
Конечные значення xn+1= 9.98 757 3394E-01 f (xn+1)= 6.692 062 0156E-09.
СПИСОК ВИКОРИСТАНИХ ИСТОЧНИКОВ.
1. Алексєєв У. Є., Ваулин О. С., Петрова Р. Б. — Обчислювальна техніка і програмування. Практикум з програмування: Практ. пособие/.
-М.: Высш. шк., 1991. — 400 с.
2. Абрамов С. А., Зима Є.В. — Почала програмування мовою Паскаль.
— М.: Наука, 1987. -112 с.
3. Обчислювальна техніка і програмування: Учеб. для техн. вузов/.
А.В. Петров, В.Є. Алексєєв, О. С. Ваулин та інших. — М.: Высш. шк., 1990.
— 479 с.
4. Гусєв В.А., Мордкович О. Г. — Математика: Справ. матеріали: Кн. учнів. — 2-ге вид. — М.: Просвітництво, 1990. — 416 с.
5. Марченко А.І., Марченко Л. А. — Програмування серед Turbo Pascal.
7.0 — До.: СТОЛІТТЯ+, М.: Біном Універсал, 1998. — 496 с.
———————————;
[pic].
Печатка на дисплей проміжних x n+1, f (х n+1).
Печатка на дисплей кінцевих значень x n+1, f (х n+1).
x n:= x n+1; x n+1:=? (x n); y0:= f (х n+1);
y0>c.
Конец.
да нет.
y0:= f (b); x n:= b;
a:=0; b:=1; c:=0.1;
Начало.