Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Решение системи нелінійних уравнений

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Оскільки попробованный метод простий ітерації з параметром взагалі відмовився. Д. Мак-Кракен, У.Дорн. «Чисельні методи лікування й програмування на Фортрані «,. Як дискретний метод Ньютона продовжує непогано працювати. Проте метод Ньютона. Зворотної матриці Якобі. Усередині себе даний модуль за необхідності викликає. У принципі так, текст даного модуля не потребує пояснень. У ньому користувач… Читати ще >

Решение системи нелінійних уравнений (реферат, курсова, диплом, контрольна)

Теоретическая часть.

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

на вирішення системи нелінійних рівнянь методом послідовної ітерації.

зворотної матриці Якоби.

Суть методу в следующем:

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

уравнений:

F1(X1,X2,…, Xn)=0; i=1,2,…, n,.

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

X0=(x10,x20,…xn0).

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

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

H0=E.

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

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

Pk = - Hk * F (Xk);

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

Xk+1 = Xk + tk*Pk.

Спочатку tk=1. Потім шляхом послідовного розподілу tk на 2 знаходимо таке.

tk, щоб виконувалося неравенство:

¦ F (Xk+1) ¦ < ¦ F (Xk) ¦>

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

¦ F (Xk+1) ¦ < E,>

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

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

Yk= F (Xk+1) — F (Xk).

4. Перебуває нове наближення матрицы:

Hk+1 = Hk — (Hk*Yk — Pk*tk) * (Pk)T * (Hk)T / ((Pk)T * Hk*Yk).

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

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

Ця РГР представленій у вигляді 3 виконуваних модулей:

OBRJ.M, OBRF. M і FUN1.M. Рішенням поставленого завдання займається модуль OBRF. M,.

а через два інших є вспомогательными:

OBRJ.M — головний модуль, у якому вводяться вхідні дані і виводяться.

результати обчислень, а FUN1. M — модуль, що пише сам користувач і.

який повертає обчислені ліві частини для необхідного уравнения.

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

запитує допустима помилка. Потім викликається модуль OBRJ. M, що й.

реалізує розв’язання цієї системи рівнянь методом послідовної ітерації.

зворотної матриці Якобі. Усередині себе даний модуль за необхідності викликає.

функцію FUN1. M, яку пише сам пользователь.

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

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

(роздруківки даних модулів наведені у приложении):

1. OBRJ.M.

головний модуль.

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

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

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

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

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

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

вигляді вектора, например:

X0=[0.4 0.9].

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

виробляються інші підготовчі действия.

Потім відбувається виклик модуля OBRF. M з вхідними даними. Формат.

виклику даного модуля описаний далі (описання самого модуля).

Після обчислень в головну програму повертаються результати обчислень на.

основі яких будуються графіки і навіть виводяться оцінки за затратам машинного.

часу й быстродействия.

2. OBRF.M.

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

Вхідні данные:

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

для необхідної системи у певному точке.

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

E — допустима ошибка.

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

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

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

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

етапі.

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

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

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

Цей «обчислювальний «модуль реалізує метод послідовної ітерації.

зворотної матриці Якобі. Загальна структура виклику даного модуля:

[Tout, Xout, DXout]=OBRF (FunFcn, X0, E);

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

На початковому етапі знають у цьому модулі инициализируются внутрішні перемінні.

(наприклад, задається одинична матриця H, відповідно до размерностью X0),.

формуються (з урахуванням початкових значень) первинні елементи матриць.

Tout, Xout, DXout.

Потім дана функція, як і ще в про чисельні методах, имеет вид:

While ПОМИЛКА > ПРИПУСТИМОЮ ПОМИЛКИ.

Оператор1.

Оператор2.

ОператорN.

End.

Усередині даного циклу відбуваються обчислення внутрішньої перемінної Pk кожному.

кроці K і, обчислюється початкова наближення Xk+1. Спочатку t=1 (Не номер

ітерації, а внутрішній параметр!). Потім, у наступному циклі While… End в.

разі, якщо ¦F (Xk+1)¦ < ¦F (Xk)¦ t=t/2 і знову обчислюється Xk+1. Коли чергове >

Xk+1 знайдено, обчислюється Yk, та був і винесла нове наближення матриці H.

Итерационный процес закінчується, якщо ¦F (Xk+1)¦ < E. Якщо цю умова не >

виконується — итерационный процес триває заново.

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

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

завершується і сама функция.

3. FUN1.M.

Модуль, вычисляющий ліві частини.

Вхідні данные:

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

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

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

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

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

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

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

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

значення X дана функція повертає ліві частини в кожному рівнянню.

Єдина вимога до цього модулю — дотримання формату, тобто вхідні і.

вихідних даних мають бути представлені як вектор-строк.

Порівняльний аналіз стану і.

оцінка быстродействия.

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

оскільки попробованный метод простий ітерації з параметром взагалі відмовився.

сходитися для даної системи. Проте добре адресований порівняння дискретний.

метод Ньютона, оскільки дані методи практично однакові що у точності що.

по затратам.

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

порядку 682.

Швидкодія: порядку 0.11 секунди.

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

Кількість операцій: порядку 990.

Швидкодія: порядку 0.22 секунди.

Як очевидно з вищенаведених даних, ці дві методу дуже близькі між собою, але.

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

сходимостью, наприклад при початкових значеннях X0=[2.0 2.0]; метод.

послідовної ітерації зворотної матриці Якобі не справляється, тоді.

як дискретний метод Ньютона продовжує непогано працювати. Проте метод Ньютона.

вимагають великих витрат машинного часу й тому під час виборів методу необхідно.

виходити їх конкретних умов завдання й якщо відомо цілком слушного.

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

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

Висновки.

У цьому РГР було розроблено й реалізований метод послідовної ітерації.

зворотної матриці Якобі, готовий до рішення системи нелінійних.

рівнянь. Програма, реалізована мовою PC MathLab хоча й є.

оптимальної, проте виконує поставлене завдання й вирішує системи рівнянь.

Реалізований метод не відрізняється підвищеною сходимостью і вимагає досить.

точного початкового наближення, проте досить швидко сходиться до точному.

рішенню, тобто може бути порекомендувати для обчислення непростих систем.

нелінійних рівнянь за наявності досить точного початкового наближення і.

наявності тимчасових ограничений.

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

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

державний технічний університет, Новосибірськ 1995 г.

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

Видавництво «Світ », М. 1977 г.

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

Показати весь текст
Заповнити форму поточною роботою