Розв'язок нелінійних рівнянь шляхом видалення вже знайдених коренів в середовищі програмування delphi

Delphi-програма знаходить всі корені нелінійного алгебраїчного рівняння на заданому інтервалі з заданою точністю і використовує для цього алгоритм, який полягає у видалені вже знайдених коренів (теоретична частина по даному методі міститься за посиланням Відшукання всіх дійсних коренів алгебраїчного рівняння шляхом видалення вже знайдених коренів). Візуально, головна форма розглядуваного delphi-проекту не відрізняється від проектів, які реалізують інші чисельні методи рішення даної проблеми, тобто ділиться на дві частини:

  1. Панель інструментів: містить чотири поля типу TEdit, два з яких відповідають за значення кінців проміжоку на якому відшукуються корені рівняння і два що залишилось, відповідають за точність обчислювального процесу та функцію, що міститься в лівій частині розв'язуваного рівняння; дві кнопки типу TButton одна з яких безпосередньо реалізує алгоритми знаходження коренів та друга — видаляє всі введені користувачем значення і готує проект до нового прикладу; один компонент типу TMemo, головним призначенням якого є вивід результату роботи програми.
  2. Область графічного представлення: містить компонент типу TChart, який відображає графік розв'язуваного рівняння і з допомогою якого можна провірити правельність роботи програми.

Після того, як призначення кожного з елементів форми проекту відомо, провіримо його роботу на конкретному прикладі, а саме знайдемо всі корені рівняння на проміжку і в якості критерію закінчення ітераційного процесу, візьмемо число .

Читати повністю

Знаходження всіх дійсних коренів алгебраїчного рівняння шляхом видалення вже знайдених коренів

Один із недоліків методу половинного ділення чи будь-якого з ітераційних методів розв'язку нелінійних алгебраїчних рівнянь є той факт, що процес збігається невідомо до якого кореня. Сьогодні розглянемо один із способів уникнути даної проблеми, який полягає у видалені вже знайденого кореня.

Отже, нехай задано рівняння , для якого на заданому відрізку необхідно знайти всі дійсні корені (відмітимо що функція на даному відрізку є неперервною). Далі припустимо, що є простий корінь рівняння (1), тоді допоміжна функція буде також неперервною на даному інтвалі, причому всі нулі функцій  та співпадають за винятком , тобто . Якщо  кратний корінь рівняння (1), то він буде нулем і для  кратності на одиницю менше. Решта нулів обох функцій як і раніше будуть однакові. Тому знайдений корінь можна видалити, тобто перейти до функції . Тоді знаходження інших нулів  зведеться до знаходження нулів .

Далі, припустимо, що на другому кроці ми знайшли деякий корінь функції . Цей корінь теж мжна видалити, ввівши нову допоміжну функцію . Відзначимо, що таким чином можна послідовно знайти всі корені заданого рівняння (1).

Читати повністю

Розв'язок системи нелінійних рівнянь методом итерації (послідовних наближень)

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

Для простоти, розглянемо систему, яка складається з двох нелінійних рівнянь:

Розв'язок системи рівнянь методом Ітерацій

Згідно методу ітерації, систему (1) потрібно замінити рівносильною їй системою, наступного виду:

metod_iteracii_sust_nelin_rivn2

Припустимо, що розв'язок систем (2) міститься на деякому замкнутому прямокутнику Розв'язок системи рівнянь методом Ітерацій, і при чому він є єдиним (metod_iteracii_sust_nelin_rivn4). Вибравши в якості початкового наближення довільну точку metod_iteracii_sust_nelin_rivn5, і використавши формули:

Читати повністю

Знаходження розв'язку нелінійного рівняння методом простої ітерації засобами Delphi

Програма знаходить розв'язок нелінійного алгебраїчного рівняння Метод ітерації на Delphi використовуючи метод простої ітерації. Основна ідея даного методу полягає у заміні рівняння Метод ітерації на Delphi, на рівносильне йому рівняння виду Метод ітерації на Delphi. Після цього, задавши початкове наближення Метод ітерації на Delphi і підставивши його у остання рівняння, отримуємо послідовність точок Метод ітерації на Delphi, яка збігається до шуканого розв'язку з заданою точністю. Даний процес припиняється в тому випадку, коли модуль різниця між двома наближеннями Метод ітерації на Delphi та Метод ітерації на Delphi не стане меншою деякого числа Метод ітерації на Delphi(Метод ітерації на Delphi).

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

Метод ітерації на Delphi

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

Читати повністю

Метод простої ітерації для розв'язання одного нелінійного рівняння

Метод простої ітерації (також відомий як метод послідовних наближень) є одним з найбільш важливих способів чисельного розв'язання рівняня. Основна ідея даного методу полягає в тому, що ми замінюємо рівняння Метод ітераціїрівносильним йому рівнянням виду:

Метод ітерації

При цьому вважаємо, що Метод ітерації є неперервною на проміжку Метод ітерації.

Оберемо, довільним чином, наближене значення кореня Метод ітерації і підставимо його в праву частину рівняння (1) . Тоді отримаємо число:

Метод ітерації

Підставивши, тепер в праву частину рівняння (2) замість Метод ітераціїчисло metod_iteracii_nelin_rivn7, отримаємо нове число Метод ітерації і так далі продовжуємо даний процес. В результаті отримаємо послідовність чисел:

Метод ітерації

Якщо отримана послідовність збіжна, тобто існує Метод ітерації, то переходячи до границі в рівнянні (3) отримаємо:

Метод ітерації або Метод ітерації,

тобто границя Метод ітераціїє коренем рівняння (1) з довільним степенем точності.

Читати повністю

Знаходження наближеного розв'язку нелінійного алгебраїчного рівняння методом хорд

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

Ідея методу хорд полягає в тому, що на достатньо малому відрізку Метод хорд дугу кривої замінюють хордою і за наближений розв'язок береть точку перетину даної хорди з віссю абсцис. Розглянемо випадок, коли перша і друга похідні мають однакові знаки, тобто Метод хорд:

Метод хорд

Випадок методу хорд, коли добуток першої і другої похідної бульший нуля

Читати повністю