Розв’язок СЛАР методом Крамера в середовищі програмування delphi

Серед точних чисельних методів призначених для розв’язку систем лінійних рівнянь – крім методу Гаусса також широкого застосування дістало і правило Крамера (метод Крамера). Метод заснований на роботі з визначниками і дозволяє легко розв’язати систему лінійних рівнянь. Також слід зазначити, що метод Крамера підходить тільки для тих випадків, коли система складається не більше ніж з трьох лінійних рівняняь та визначник даної системи не повинен дорівнювати нулю. В іншому випадку доведеться використовувати вищезгадуваний метод Гаусса чи будь-який інший чисельний метод. Детально розглядати теоретичну частину методу Крамера не будемо (міститься за посиланням Розв’язок системи лінійних алгебраїчних рівнянь методом Крамера), а приступимо до розгляду delphi-проекту, який реалізує даний метод.

Інтерфейс головної форми розглядуваного delphi-проекту не відрізняється від проектів, які реалізують інші чисельні методи признячені для рішення основної проблеми лінійної алгебри, а саме відшукання розв’язку лінійних систем, лише з одною відмінністю – розмірність системи являється незмінним числом і дорівнює три. Тобто програма призначена для відшукання розв’язку системи трьох рівнянь з трьома невідомими.

Читати далі

Метод гілок та меж. Розв’язок задачі цілочисельного програмування методом гілок та меж

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

Згідно загальній ідеї методу, на першому кроці поставлена задача розв’язується як задача лінійного програмування, тобто без урахування умови цілочисельності. Якщо отримано оптимальний цілочисловий розв’язок задачі лінійного програмування, то він є також розв’язком задачі цілочисельного лінійного програмування. Якщо ж не отримано цілочисельного розв’язку, то через Метод гілок та меж позначають цілу частину змінної Метод гілок та меж, значення якої в оптимальному розв’язку задачі лінійного програмування є дробовим. Після чого, інтервал Метод гілок та меж виключається з розгляду, як такий, що не містить допустимих цілочисельних компонент розв’язку. Тому допустиме ціле значення Метод гілок та меж повинно задовольняти одну з нерівностей Метод гілок та меж або Метод гілок та меж.

Читати далі

Метод Гоморі. Приклад розв’язку задачі цілочисельного програмування методом Гоморі

Розглянемо приклад знаходження розв’язку задачі цілочисельного програмування використовуючи метод Гоморі. Отже, для виготовлення товару A і В підприємство використовує два види сировини. Норми витрат сировини на виробництво одного товару кожного виду, ціна одиниці товару A та B, а також загальна кількість сировини наведені в наступній таблиці:

Таблиця даних задачі лінійного програмування

Таблиця даних задачі цілочисельного програмування

Необхідно скласти такий план випуску даної продукції, щоб прибуток від її реалізації був максимальним.

Читати далі

Метод найшвидшого спуску (градієнтний метод) для випадку системи лінійних рівнянь

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

або в матрично-векторній формі , де – матриця коефіцієнтів при невідомих системи (1); – вектор-стовпець вільних члені; – вектор-стовпець невідомих.

Читати далі

Знаходження розв’язку задачі Коші засобами Delphi використовуючи метод Мілна

Розглянемо delphi-проект, який використовуючи метод Мілна четвертого порядку точності (відноситься до групи методів прогнозу і коррекції) знаходить чисельний розв’язок задачі Коші. Перш ніж приступити до розгляду головної форми delphi-програми, нагадаємо, що основна ідея методів прогнозу і коррекції полягає в тому, що  рішення в наступній точці знаходиться у два етапи. На першому етапі знаходимо прогнозоване значення функції. На другому – корекція значення отриманого на попередньому етапі. Більш детальну інформацію про метод Мілна можна знайти за посиланням Знаходження розв’язку задачі Коші використовуючи метод Мілна.

Отже, після запуску програми, яка реалізує Метод Мілна, на екрані появиться форма наступного виду:

Головна форма delphi-проекту, який використовуючи метод мылна знаходить розвєязок задачі Коші

Головна форма delphi-проекту, який використовуючи метод Мілна знаходить розв'язок задачі Коші

Читати далі

Метод Гаусса з вибором головного елемента

Нехай дана система лінійних алгебраїчних рівнянь виду (1), для якої потрібно знайти чисельний розв’язок:

Метод Гаусса з вибором ведучого елемента

Розглянемо розширену прямокутну матрицю, що складається з коєфіціентов системи (1) та її вільних членів:

Метод Гаусса з вибором головного елемента

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

Читати далі

Розв’язування рівнянь теплопровідності методом Кранка-Ніколсона в Delphi(2)

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

Розглянемо рівняння теплопровідності і знайдемо його розв’язок використовуючи delphi-програму “Метод Кранка-Ніколсона 2”. Інтерфейс даної програми аналогічний програмі Метод Кранка-Ніколсона 1, з однією відмінністю: передбачено ввід будь-якої початкової і граничних умов та їх обробка в ході програми.

Програма розуміє круглі дужки, знаки арифметичних операцій * + — /, знак піднесення до степені ^ і наступні математичні функції: Abs(), Sqr(), Sqrt(), Exp(), Ln(), Sin(), Cos(), Tan(), ArcTan().

ІНтерфейс програми, яка знаходить чисельний розв'язок рівняння теплопровідності використовуючи метод Кранка-Ніколсона

ІНтерфейс програми, яка знаходить чисельний розв'язок рівняння теплопровідності використовуючи метод Кранка-Ніколсона

Читати далі

Розв’язування рівнянь теплопровідності методом скінченних різниць в Delphi(2)

Нехай потрібно знайти чисельний розв’язок рівняння теплопровідності Метод скінченних різниць на Delphi з заданими початковими і граничними умовами:

metod_skinchennuh_riznuc_delphi23

з використанням наступних кроків: .

Для вирішення поставленої задачі скористаємось delphi-програмою, яка використовуючи метод скінченних різниць знаходить розв’язок задач такого типу. Тобто від користувача вимагається занести у відповідні поля наступні дані: відрізки на якому змінюється просторова змінна x та часова змінна t; початкову та граничні умови; значення параметра c; кроки dx та dt. Після чого натиснути кнопку “Розв’язати”.

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

Особливістю даної програми є наявність компілятора, завдяки чому можлива обробка будь-якої функції (початкова і граничні умови), введеної в програму користувачем, і її зміна в процесі виконання програми (програма розуміє круглі дужки, знаки арифметичних операцій * + – /, знак піднесення до степеня ^  і функції: Abs(), Sqr(), Sqrt(), Exp(), Ln(), Sin(), Cos(), Tan(), ArcTan()).

Читати далі

Розв’язування рівнянь теплопровідності методом скінченних різниць

Розглянемо одномірне рівняння теплопровідності (відноситься до диференціальних рівнянь параболічного типу), яке має наступний вигляд Метод скінченних різниць де:

Метод скінченних різниць

з початковими умовами:

Метод скінченних різниць

і граничними умовами:

Метод скінченних різниць

Рівняння теплопровідності – це модель температури в ізольованому бруску, який має на кінцях постійну температуру Метод скінченних різниць і Метод скінченних різниць та початкову температуру по цілому бруску Метод скінченних різниць. Для даної задачі потрібно знайти чисельний розв’язок з допомогою методу скінченних різниць.

Читати далі

Розв’язування звичайних диференціальних рівнянь методом Адамса

Нехай потрібно зняйти чисельний розв’язок зажачі Коші:

110

При використанні однокрокових методів для розв’язання зідічі (1),  значення 21залежить тільки від інформації, яка міститься в одній – попередній точці 31. Припустимо, що можна досягнути більш точного результату, якщо використовувати інформацію з декількох попередніх точок 41. Дана ідея і закладена в основу багатокрокових методів.

Читати далі