Метод ортогоналізації на Delphi. Розв'язок систем лінійних рівнянь методом ортогоналізації засобами Delphi

Програма знаходить розв'язок системи лінійних алгебраїчних рівнянь викоритовуючи метод ортогоналізації (теоретична частина даного методу містяться за посиланням Рішення СЛАР методом ортогоналізації). Інтерфейс головної форми розглядуваного delphi-проекту не відрізняється від проектів, які реалізують інші чисельні методи признячені для рішення основної проблеми лінійної алгебри, а саме відшукання розв'язку лінійних систем. Тобто після запуску програми, на екраін появиться форма, в якій необхідно вказати розмірність системи, заповнити розширену матрицю коефіцієнтами при невідомих та елементами стовця вільних членів після чого шуканий розв'язок отримують скориставшись кнопкою "Розв'язати систему рівнянь".

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

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

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

Метод ортогоналізації. Знаходження розв'язку СЛАР методом ортогоналізації

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

Метод ортогоналізації

де Метод ортогоналізації — вектор-рядки (Метод ортогоналізації); Метод ортогоналізації — вектор-стовпець. Далі, систему векторів Метод ортогоналізації доповнимо додатковим вектором Метод ортогоналізації після чого, до отриманої  системи векторів Метод ортогоналізації застосуємо процес ортогоналізації, який складається з побудови ортонормованої системи Метод ортогоналізації і який реалізується за наступними рекурентними формулами:

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

Рішення систем рівнянь методом простої ітерації (реалізація в середовищі Delphi)

За допомогою чисельних методів вирішується велика кількість задач, що відносяться до різних областей науки. Більшість з цих задач зводиться до рішення систем лінійних алгебраїчних рівнянь (СЛАР) виду , де  — матриця коефіцієнтів,  — вектор правих частин і  — шукане рішення. Як приклад задача, що зводиться до рішення лінійних систем, можна привести задачу моделювання теплового розподілу за допомогою методу скінченних різниць.

Всі методи розв'язку СЛАР можна розділити на дві великі групи: прямі та ітераційні. Прямі методи знаходять точне рішення (у відсутності помилок округлення) за скінченне число кроків. Ітераційні — на кожному кроці зменшують величину помилки між точним рішенням і знайденим на поточній ітерації.

Велика частина прямих методів грунтуються на процесі виключення невідомих, але для ряду практичних завдань, використання прямих методів являється недоречним (розв'язок СЛАР великої розмірності), так як їх обчислювальний процес являється занадто складним, або вони працюють занадто довго. У таких випадках використовують ітераційні методи: метод простої ітерації (метод Якобі), метод Зейделя, метод релаксації та інші. У даному параграфі розглянемо delphi-проект, що реалізує один з найвідоміших ітераційних методів, а саме метод простої ітерації.

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

Розв'язок систем лінійних рівнянь методом LU-факторизації (реалізація в середовищі Delphi)

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

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

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

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

Рішення систем рівнянь методом Гаусса (реалізація в середовищі Delphi)

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

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

Головна форма розглядуваного delphi-калькулятора

Як видно з рисунка, крім текстових міток (компоненти типу TLabel), вона містить редактор введення цілих чисел (компонент типу TSpinEdit — відповідає за кількість рівнянь та невідомих системи, рішення якої відшукується), таблиці типу TStringGrid (призначені для введення коефіцієнтів при невідомих сисетми та значень стовпця вільних членів), кнопки типу TButton (призначені для рішення системи рівнянь та підготовки delphi-проекту до нового прикладу) і область виведення багаторядкового тексту (компонент типу TMemo — призначений для представлення результатів роботи програми).

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