Бінарна алгебраїчна операція
Химия

Реферат — Численні методи — завантажити безкоштовно


Реферат - Численні методи - завантажити безкоштовно

Завантажити реферат: Численні методи

У даній розрахунково-графічній роботі (далі РГР) потрібно скласти програму на вирішення системи нелінійних рівнянь методом послідовної ітерації зворотної матриці Якобі.

Суть методу наступного:

Нехай потрібно вирішити систему нелінійних алгебраїчних або трансцендентних рівнянь:

Fя41я0 (Xя41я0, Xя42я0, …, Xя4nя0) = 0; i=1,2,…,n,

з початковим наближенням до рішення:

Xя50я0 = (xя41я50я0, xя42я50я0, … xя4nя50я0).

Обчислювальна схема реалізованого методу полягає в наступному:

На початку ітераційного процесу матриця H належить рівною одиничною:

H50я0 = E.

Потім для k=0,1,…

1. Обчислюється

Pя5k я0=я5 я0-я5 я0Hя5k я0*я5 я0F(Xя5kя0);

2. Знаходяться

Xя5k+1 я0=я5 я0Xя5k я0+я5 я0tя5kя0*Pя5kя0.

Спочатку tя5kя0=1. Потім шляхом послідовного поділу tя5kя0 на 2 знаходимо таке tя5kя0, щоб виконувалася нерівність:

є F(Xя5k+1я0) є < є F(Xя5kя0) є

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

є F(Xя5k+1я0) є < E,

де E – задана точність.

3. Визначається

Yя5kя0= F(Xя5k+1я0) — F(Xя5kя0)

4. Знаходиться нове наближення матриці:

Hя5k+1 я0=я5 я0Hя5k я0-я5 я0(Hя5kя0*я5 я5 я0Hя5kя0*Yя5kя0)

і знову повторюється обчислювальний процес пункту 1.

Порядок роботи з програмою

Дана РГР представлена ​​у вигляді 3 виконуваних модулів: OBRJ.M, OBRF.M і FUN1.M.я0 Рішенням поставленої задачі займається модулья1 OBRF.Mя0, а два інших є допоміжними: 1OBRJ.M — головний модуль, в якому вводяться вхідні дані та виводяться результати обчислень, а1FUN1.M — модуль, який пише сам користувач і який повертає обчислені ліві частини для необхідного рівняння.

У головній програмі задаються початкові наближення, у вигляді вектора X0 і запитується припустима помилка. Потім викликається модулья1 OBRJ.M,я0 який і реалізує вирішення даної системи рівнянь методом послідовної ітерації зворотної матриці Якобі. Всередині себе даний модуль при необхідності викликає функцію1 FUN1.Mя0, яку пише сам користувач.

Опис роботи програм

У зв’язку з тим, що дана РГР складається з 3 частин, то опишемо їх поодинці (роздруківки даних модулів наведені у додатку):

1.я1 OBRJ.M

Головний модуль

Вхідні дані: відсутні.

Вихідні дані: відсутні.

Мова реалізації: PC MathLab.

Операційна система: MS-DOS 3.30 або Higher.

Пояснення до тексту модуля

«Стандартний» головний модуль. У цьому модулі задаються початкові значення у вигляді вектора, наприклад:

Xя40я0 =[0.4 0.9]

Також в даному модулі запитується припустима помилка, очищується екран, а також виконуються інші підготовчі дії.

Потім відбувається виклик модуля1 OBRF.Mя0 з отриманими вхідними даними. Формат виклику цього модуля описаний далі (в описі самого модуля).

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

1 OBRF.M

Обчислювальний модуль

Вхідні дані:

FunFcn — ім’я функції, написаної користувачем, яка обчислює ліві частини для необхідної системи у певній точці.

X0 — вектор-рядок, що визначає початкові значення (початкове наближення).

E – припустима помилка.

Вихідні дані:

Tout — Стовпець ітерацій («Час»)

Xout — Стовпці значень обчислених кожному етапі кожної ітерації

DXout — Стовпці похибок за кожною компонентою, обчислені на певному етапі

Мова реалізації: PC MathLab

Операційна система: MS-DOS 3.30 or Higher

Пояснення до тексту модуля:

Цей «обчислювальний» модуль реалізує метод послідовної ітерації зворотної матриці Якобі. Загальна структура виклику цього модуля:

[Tя4outя0,Xя4outя0,DXя4outя0]= OBRF (FunFcn, Xя40я0, E);

Значення кожного параметра були описані вище.

На початковому етапі в даному модулі ініціалізуються внутрішні змінні (наприклад, визначається одинична матриця H, відповідно до розмірності X0), формуються (на основі початкових значень) первинні елементи матриць Tout, Xout, DXout.

Потім дана функція, як і багато інших у чисельних методах, має вигляд:

While ПОМИЛКА > ПОМИЛКИ

Оператор1

Оператор2

………

………

ОператорN

End

Усередині даного циклу відбуваються обчислення внутрішньої змінної Pя5kя0 кожному кроці K і, обчислюється початкове наближення Xя5k+1я0. Спочатку t = 1 (Не номер ітерації, а внутрішній параметр!). Потім, у черговому циклі While…End у разі, якщо є F(Xя5k+1я0)є <єF(Xя5kя0)є t=t/2 і знову обчислюється Xя5k+1я0. Коли чергове Xя5k+1я0 знайдено, обчислюється Yя5kя0, та був і нове наближення матриці H. Ітераційний процес закінчується, якщо єF(Xя5k+1я0)є < E. Якщо ця умова не виконується - ітераційний процес триває заново.

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

3.я1 FUN1.M

Модуль, що обчислює ліві частини

Вхідні дані:

X — вектор рядок, що задає точки для обчислень по кожній компоненті.

Вихідні дані:

FF — вектор-рядок, що повертає значення кожної компоненти у певній точці

Мова реалізації: PC MathLab

Операційна система: MS-DOS 3.30 or Higher

Пояснення до тексту модуля:

В принципі, текст цього модуля не вимагає пояснень. У ньому користувач реалізує систему рівнянь, що підлягає рішенню. Тобто на вхідні значення X дана функція повертає ліві частини кожного рівняння. Єдина вимога до даного модуля — дотримання формату, тобто вхідні та вихідні дані мають бути представлені у вигляді векторних рядків.

Порівняльний аналіз та оцінка швидкодії.

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

1. Метод послідовної ітерації зворотної матриці Якобі

Число операцій: порядку 682

Швидкодія: близько 0.11 секунд

2. Метод Ньютона дискретний

Кількість операцій: близько 990

Швидкодія: близько 0.22 секунд

Як видно з наведених вище даних, ці два методи дуже близькі між собою, але метод Ньютона дискретний більш складний в реалізації, однак має кращу збіжність, наприклад при початкових значеннях Xя50я0 =[2.0 2.0]; Метод послідовної ітерації зворотної матриці Якобі не справляється, тоді як дискретний метод Ньютона продовжує непогано працювати. Однак метод Ньютона вимагає великих витрат машинного часу і тому при виборі методу необхідно виходити з конкретних умов завдання і якщо відомо досить точне наближення і потрібна швидкість обчислень, то таким умовам відмінно підходить розроблений метод послідовної ітерації зворотної матриці Якобі.

Висновки

У даній РГР було розроблено та реалізовано метод послідовної ітерації зворотної матриці Якобі, призначений на вирішення системи нелінійних рівнянь. Програма, реалізована мовою PC MathLab хоч і не є оптимальною, проте виконує поставлене завдання та вирішує системи рівнянь. Реалізований метод не відрізняється підвищеною збіжністю і вимагає досить точного початкового наближення, проте досить швидко збігається до точного рішення, тобто його можна порекомендувати для обчислення непростих систем нелінійних рівнянь за наявності досить точного початкового наближення та тимчасових обмежень.

Список літератури

1. О.М.Сарічева. » Чисельні методи економіки. Конспект лекцій » , Новосибірський державний технічний університет, Новосибірськ 1995г.

2. Д.Мак-Кракен, У.Дорн. «Кількісні методи та програмування на Фортрані», Видавництво «Світ», М. 1977р.

3. Н.С.Бахвалов. «Кількісні методи», Видавництво «Наука», М. 1975р.

© Реферат плюс



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *