Біографії Характеристики Аналіз

Вирішення рівнянь методом простої ітерації excel. Уточнення коренів рівнянь

Приклад 3.1 . Знайти рішення системи лінійних алгебраїчних рівнянь(3.1) методом Якобі.

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

Розрахункову схему методу Якобі наведено на рис (3.1).

Наведіть систему(3.1). до нормального вигляду:

, (3.2)

або в матричній формі

, (3.3)



Рис.3.1.

Для визначення кількості ітерацій, необхідне досягнення заданої точності e,та наближеного рішення системи корисно у стовпці Нвстановити Умовний формат. Результат такого форматування видно на рис.3.1. Осередки стовпця Н,значення яких задовольняють умові (3.4), тоновані.

(3.4)

Аналізуючи результати, приймаємо за наближене рішення вихідної системи із заданою точністю e=0,1 четверту ітерацію,

тобто. х 1=10216; х 2= 2,0225, х 3= 0,9912

Змінюючи значення eв осередку Н5можна отримати нове наближене рішення вихідної системи з точністю.

Проаналізуйте збіжність ітераційного процесу, збудувавши графіки зміни кожної компоненти рішення СЛАУ залежно від номера ітерації.

Для цього виділіть блок осередків А10: D20і, використовуючи Майстер діаграм, побудуйте графіки, що відбивають збіжність ітераційного процесу, рис.3.2.

Аналогічно вирішується система лінійних рівнянь алгебри методом Зейделя.


Лабораторна робота №4

Тема. Численні методи вирішення лінійних звичайних диференціальних рівняньіз крайовими умовами. Метод кінцевих різниць

Завдання.Вирішити крайову задачу методом кінцевих різниць, побудувавши два наближення (дві ітерації) з кроком h та з кроком h/2.

Проаналізувати отримані результати. Варіанти завдань наведено у додатку 4.

Порядок виконання роботи

1. Побудуйте вручнукінцеву різницеву апроксимацію крайової задачі (кінцеворозносну СЛАУ) з кроком h , заданим варіантом.

2. Використовуючи метод кінцевих різниць, сформуйте в Excelсистему лінійних алгебраїчних кінцево-різницевих рівнянь для кроку h розбивки відрізка . Запишіть цю СЛАУ на робочому аркуші книги Excel. Розрахункова схема наведена на рис.4.1.

3. Отриману СЛАУ вирішіть методом прогонки.

4. Перевірте правильність рішення СЛАУ за допомогою надбудови Excel Пошук рішення.

5. Зменшіть крок сітки в 2 рази і вкотре розв'яжіть завдання. Результати подайте у графічному вигляді.

6. Порівняйте отримані результати. Зробіть висновок про необхідність продовження або припинення рахунку.

Вирішення крайового завдання з використанням електронних таблиць Microsoft Excel.

Приклад 4.1.Методом кінцевих різниць знайти вирішення крайового завдання , y(1)=1, y '(2)=0,5на відрізку з кроком h=0,2 та з кроком h=0,1. Порівняти отримані результати та зробити висновок про необхідність продовження або припинення рахунку.

Розрахункова схема кроку h=0,2 наведено на рис.4.1.

Отримане рішення (сіточну функцію) Y {1.000, 1.245, 1.474, 1.673, 1.829, 1.930}, Х (1; 1,2; 1,4; 1,6; 1,8;2) у стовпці L і B можна прийняти за першу ітерацію (перше наближення) вихідного завдання.



Для знаходження другий ітераціїзробіть сітку вдвічі густішу (n=10, крок h=0,1) і повторіть наведений вище алгоритм.

Це можна зробити на тому ж чи іншому аркуші книги Excel. Рішення (друге наближення) наведено на рис.4.2.

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

Порядок побудови графіків наближених розв'язків крайового завдання

1. Побудуйте графік розв'язання задачі для сітки з кроком h=0,2 (n=5).

2. Активізуйте вже побудований графік та виберіть команду меню Діаграма\Додати дані

3. У вікні Нові данівкажіть дані x i , y iдля сітки різної з кроком h/2 (n=10).

4. У вікні Спеціальна вставкавстановіть прапорці у полях:

Ø нові ряди,

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

Y{1, 1.124, 1.246, 1.364, 1.478, 1.584, 1.683, 1.772, 1.849, 1.914, 1.964}


Лабораторна робота №5

Наближені Чисельні методи

РІШЕННЯ НЕЛІНІЙНОГО РІВНЯННЯ з одним невідомим.

Рівняння з одним невідомим можна записати у канонічному вигляді

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

Знайти точні значення коренів можна лише в виняткових випадках. Як правило, використовуються методи наближеного обчислення коренів із заданим ступенем точності Е. Це означає, що якщо встановлено, що корінь лежить всередині інтервалу , де a - ліва межа, а b - права межа інтервалу, і довжина інтервалу (b-a)<= E, то за приближенное значение корня можно принять любое число, находящееся внутри этого интервала.

Процес знаходження наближених значень коренів розбивається на два етапи: 1) відділення коренів та 2) уточнення коренів до заданого ступеня точності. Розглянемо ці етапи докладніше.

1.1 Відділення коріння.

Будь-який корінь рівняння вважається відокремленим на відрізку , якщо у цьому відрізку досліджуване рівняння немає іншого коріння.

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

Якщо функція f(x) така, що можна легко побудувати якісний графік її зміни, то за цим графіком досить грубо знаходяться два числа, між якими лежить одна точка перетину функції з віссю абсцис. Іноді з метою полегшення побудови доцільно представити вихідне канонічне рівняння у вигляді f 1 (x) = f 2 (x), потім побудувати графіки цих функцій, причому абсциси перетину графіків і служать корінням даного рівняння.

За наявності комп'ютера найбільш поширений табличний спосіб відокремлення коренів. Він полягає в табулюванні функції f(x) при зміні х від деякого значення х поч до значення x з кроком dx. Завдання полягає в тому, щоб знайти в цій таблиці два суміжні значення х, для яких функція має різні знаки. Припустимо, такі два значення a і b=a+dx знайдено, тобто. f(a)*f(b)<0. Тогда согласно теореме Больцано-Коши внутри отрезка , если функция f(x) непрерывна, существует точка с, в которой f(c)=0. EXCEL позволяет легко реализовать оба способа отделения корней. Рассмотрим их на примере.

приклад 1.1.

Потрібно відокремити коріння рівняння

Для цього треба протабулювати функцію f(Х) = exp(Х) - 10*Х, записану за правилами EXCEL, та побудувати її графік при зміні Х від якогось Х поч до Х кон з кроком dХ. Нехай ці значення спочатку будуть такі: Х поч = 0, Х кін = 5, dХ = 0,5. Якщо в цих межах зміни Х нам не вдасться відокремити жодного кореня, тоді треба буде задати нові початкове та кінцеве значення х і, можливо, змінити крок.

Для побудови таблиці доцільно користуватися спеціальною підпрограмою ТАБЛИЦЯ. Для цього на новому робочому аркуші в осередку B1 введемо текст: ВІДДІЛЕННЯ КОРНІВ. Потім у комірку А2 введемо текст: x, а суміжну їй комірку В2 - текст: f(x). Далі залишимо комірку А3 порожній, але в комірку В3 введемо формулу досліджуваної функції за правилами EXCEL, а саме

Потім заповнимо числовий ряд змін X у рядках А4: A14 від 0 до 5 з кроком 0,5.

Виділимо блок осередків А3: B14. Тепер дамо команду меню Дані-Таблиця. Результати табулювання будуть поміщені в блок осередків В4: В14. Для того щоб зробити їх наочнішими, потрібно відформатувати блок В4: B14 так, щоб негативні числа забарвлювалися в червоний колір. У цьому випадку легко знайти два суміжні значення X, для яких значення функції мають різні знаки. Їх і треба прийняти за кінці інтервалу відділення коріння. У разі таких інтервалів, як видно з таблиці два - і [ 3,5;4].

Далі слід побудувати графік нашої функції, виділивши блок А4: B14 та викликавши Майстер Діаграм. В результаті отримаємо на екрані діаграму зміни f(X), з якої видно наступні інтервали відділення коренів та .

Якщо тепер змінювати числові значення х у блоці А4:A14 то значення функції в осередках B4:B14і графік будуть змінюватися автоматично.


1.2 Уточнення коріння: метод ітерацій.

Для уточнення кореня методом ітерацій має бути:

Сам метод можна розбити на два етапи:
а) перехід від канонічного виду запису рівняння f(X)=0 до виду, що ітерує X = g(X),
б) обчислювальна процедура, що ітерує уточнення кореня.

Перейти від канонічного виду рівняння до ітерує можна різними способами, важливо лише щоб при цьому виконувалося достатня умова збіжності методу: çg(X)ç<1 на , тобто. модуль першої похідної функції, що ітерує, повинен бути менше 1 на інтервалі. Причому що менше цей модуль, то більша швидкість збіжності.

Обчислювальна процедура методу ось у чому. Вибираємо початкове наближення, зазвичай рівне Х 0 = (a+b)/2. Потім обчислимо X 1 = g (X 0) та D = X 1 - X 0 . Якщо модуль D<= E, то X 1 является корнем уравнения. В противном случае переходим ко второй итерации: вычисляем Х 2 =g(X 1) и новое значение D=X 2 - X 1 . Опять проводим проверку на точность и при необходимости продолжаем итерации. Если g(X) выбрано правильно и удовлетворяет достаточному условию сходимости, то эта итерирующая процедура сойдется к корню. Следует отметить, что от знака g’(X) зависит характер сходимости: при g'(X)>0 збіжність буде монотонною, тобто. зі збільшенням ітерацій D буде наближатися до Е монотонно (не змінюючи знака), тоді як при g'(X)<0 сходимость будет колебательной , тобто. D наближатиметься до Е по модулю, змінюючи знак на кожній ітерації.

Розглянемо реалізацію методу ітерацій на EXCEL з прикладу.

Приклад 1.2

Уточнимо методом ітерацій значення коренів, відокремлених у прикладі 2.1. Отже нехай f (X) = exp (X) - 10 * X, для першого кореня a = 0 і b = 0,5. Нехай Е = 0,00001. Як вибрати функцію, що ітерує? Наприклад, так g(X)=0,1*exp(X). На інтервалі çg'(X)ç<1 и достаточное условие сходимости выполняется. Кроме того, эта производная >1 на інтервалі та характер збіжності буде монотонний.

Запрограмуємо метод ітерацій цього прикладу тому ж робочому аркуші, де ми проводили відділення коренів. У комірку А22 внесемо число, що дорівнює 0. У комірку В22 запишемо формулу =0,1*EXP(A22), а в комірку С22 формулу =А22- В22. Таким чином, 22 рядок містить дані по першій ітерації. Щоб отримати в рядку 23 дані по другій ітерації, скопіюємо вміст осередку В22 в осередок А23, записавши формулу А23 =В22. Далі треба скопіювати формули осередків В22 та С22 у осередки В23 та С23. Для отримання даних решти ітерацій треба виділити осередки А23, В23, С23 і скопіювати їх вміст в блок А24: C32. Після цього слід проаналізувати зміну D = Х - g(X) у стовпці З знайти D<0,00001 по модулю и выбрать соответствующее ему значение Х из столбца А. Это и есть приближенное значение корня.


Для наочності можна побудувати діаграму для методу ітерацій. Виділяючи блок А22:С32 та використовуючи Майстер діаграм, Отримаємо три графіки зміни Х, g (X) і D в залежності від номера ітерацій, для чого на кроці 3 з 5виберемо формат 2, а на кроці 4 з 5побудови діаграми потрібно відвести нуль стовпців для міток осі Х. Тепер добре видно монотонний характер збіжності D.

Для уточнення другого кореня цього рівняння на інтервалі потрібно вибрати іншу ітеруючу функцію, таку щоб її перша похідна була по модулю менше одиниці. Виберемо g (X) = LN (X) + LN (10). У комірку А22 внесемо нове Х0=3,75, а комірку В22 - нову формулу =LN(A22)+LN(10). Скопіюємо формулу з В22 блок В23:В32 і відразу отримаємо нові дані і перебудовану діаграму. Визначимо наближене значення другого кореня.

1.3 Уточнення коріння: метод Ньютона.

Для уточнення кореня методом Ньютона має бути:

1) рівняння f(X) = 0, причому f(X) має бути задано у вигляді формули,

2) числа a - ліва межа та b - права межа інтервалу, всередині якого лежить один корінь,

3) число Е – задана точність отримання кореня,

4) функція f(X) має бути двічі диференційованою, причому формули f'(X) і f”(X) повинні бути відомі.

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

X i+1 = X i - f(X i)/f'(X i), де i=0,1,2, ...,

виходячи з початкового наближення Х 0 , Що належить інтервалу і відповідає умові f(X 0)*f”(X 0)>0. Достатні умови збіжностіМетоди полягають у тому, що перша та друга похідні досліджуваної функції повинні зберігати знак на інтервалі . Як початкове наближення вибирають зазвичай або a, або b, залежно від того, хто з них відповідає формулі вибору Х 0 .

Метод Ньютона припускає просту геометричну інтерпретацію. Якщо через точку з координатами (X i ;f(X i)) провести дотичну до кривої f(X), то абсцис точки перетину цієї дотичної з віссю 0Х і є чергове наближення кореня Х i+1 .

Метод Ньютона можна як деяку модифікацію методу ітерацій, дає найкращу итерирующую функцію g(X) кожному кроці ітерації. Проведемо такі перетворення з вихідним канонічним рівнянням f(X)=0. Помножимо ліву та праву його частини на деяке число l, відмінне від нуля. Потім додамо ліворуч і праворуч по Х. Тоді матимемо

Х = g (X) = Х + l * f (X).

Диференціюючи g(X), отримаємо g'(X) = 1 + l*f'(X). Із достатньої умови збіжності методу ітерацій çg(X)ç<1. Потребуем, чтобы на i-том шаге итерации сходимость была самой быстрой, т.е. çg’(X i)ç =0. Тогда l=-1/ f’(X i) и мы пришли к методу Ньютона.

Обчислювальна процедура методу ось у чому. Вибираємо початкове наближення X 0 зазвичай рівне a або b. Потім обчислимо X 1 = X 0 - f(X 0)/f'(X 0) та D = X 1 - X 0 . Якщо модуль D<= E, то X 1 является корнем уравнения. В противном случае переходим ко второй итерации: вычисляем Х 2 и новое значение D=X 2 - X 1 . Опять проводим проверку на точность и при необходимости продолжаем итерации. Если X 0 выбрано правильно, а функция удовлетворяет достаточному условию сходимости, то эта итерирующая процедура быстро сойдется к корню.

приклад 1.3.

Уточнимо методом Ньютона значення кореня, відокремленого у прикладі 1.1. Отже нехай f (X) = exp (X) - 10 * X, для першого кореня a = 0 і b = 0,5. Нехай Е = 0,00001. Формули для першої та другої похідної f(X) такі

f'(X) = exp(X) - 10 і f”(X) = exp(X).

Вочевидь, що X 0 = a = 0, т.к. f(0)*f”(0) = 1 >0.

Щоб отримати в рядку 43 дані по другій ітерації, скопіюємо вміст осередку D42 в осередок А43, записавши формулу А43 =D42. Далі треба скопіювати формули осередків В42, С42, ​​D42, E42 у комірки В43, С43, D43, E43. Для отримання даних решти ітерацій треба виділити осередки в 43 рядку і скопіювати їх вміст в блок А44:Е47. Після цього слід проаналізувати зміну D у стовпці E, знайти D<0,00001 по модулю и выбрать соответствующее ему значение Х из столбца А. Это и есть приближенное значение корня. При правильно введенных формулах метод Ньютона сходится за 3 или 4 итерации. Поэтому строить диаграмму для этого метода нет необходимости.

1.4. Уточнення коренів: метод бісекції (розподілу відрізка навпіл).

Для уточнення кореня методом бісекції має бути:

1) рівняння f(X) = 0, причому f(X) має бути задана у вигляді формули,

2) числа a - ліва межа та b - права межа інтервалу, всередині якого лежить один корінь,

3) число Е – задана точність отримання кореня.

Нагадаємо, що кінцях інтервалу функція f(X) має різні знаки. Обчислювальна процедура методу полягає в тому, що на кожному кроці ітерації на інтервалі вибирають проміжну точку так, щоб вона була серединою інтервалу, тобто з = (a + b) /2. Тоді інтервал розділиться цією точкою на два рівні відрізки і , довжини яких рівні (b-a)/2. З двох отриманих відрізків виберемо той, кінцях якого функція f(X) приймає значення протилежних знаків. Позначимо його як . На цьому закінчується перша ітерація. Далі новий відрізок ділимо знову навпіл і проводимо другу та наступні ітерації. Процес поділу відрізка навпіл виробляємо до тих пір, поки на якомусь К-тому кроці відрізок, що знову виходить, не стане менше або рівним величині точності Е. Значення кроку До легко розрахувати з формули

(b-a)/2 k<=E,

де a і b - початкові значення лівої та правої меж інтервалу.

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

приклад 1.4.

Уточнимо методом бісекції значення кореня, відокремленого у прикладі 1.1. Отже нехай f (X) = exp (X) - 10 * X, для першого кореня a = 0 і b = 0,5. Нехай Е = 0,00001.


Запрограмуємо метод бісекції цього прикладу тому ж робочому аркуші, де ми проводили відділення коренів. У комірки А52 і В52 треба внести числові значення a і b, у комірку С52 - формулу = (А52 + В52) /2. Далі в комірку D52 внесемо формулу =EXP(A52)-10*A52, в комірку Е52 - формулу =EXP(C52)-10*C52, комірку F52 - формулу =D52*E52, і, нарешті, в комірку G52 запишемо формулу = B52-A52. У рядку 52 ми сформували першу ітерацію. На другій ітерації значення в осередках А53 і В53 залежать від знака числа в осередку F52. Якщо F52>0, то значення А53 дорівнює С52. В іншому випадку воно має дорівнювати А52. У комірці В53 навпаки: якщо F52<0, то значение В53 равно С52, иначе В52.

Дозволити цю проблему допоможе вбудована функція EXCEL, яка називається ЯКЩО. Зробимо поточний осередок А53. У рядку формул, поряд із зеленою галочкою клацніть на кнопці із зображенням f(x). Так викликається Майстер Функцій. У діалозі, що з'явився, виберемо в полі Категорії Функціїкатегорію Логічні, а в полі Ім'я Функції- Ім'я ЯКЩО. На другому кроці діалогу заповнимо три вільні поля наступним чином: у полі Логічне_вираженнявнесемо “F52>0” (зрозуміло без лапок!), у полі Значення_якщо_істинавнесемо С52, а поле Значення_якщо_брехня- А52. Клацніть по кнопці Закінчити. От і все.

Те саме треба зробити з осередком В53. Тільки Логічне вираженнябуде “F52<0”, Значення_якщо_істинабуде С52, а Значення_якщо_брехнявідповідно В52.

Далі треба скопіювати формули в блоці осередків С52: G52 блок С53: G53. Після цього друга ітерація буде проведена у рядку 53. Для отримання наступних ітерацій достатньо скопіювати формули з рядка 53 у блоці А53: E53 блок А54: E68. Потім, як завжди, слід знайти з стовпця Е такий рядок, де значення D буде менше Е. Тоді число в стовпці С у цьому рядку і є наближене значення кореня.

Можна побудувати діаграму зміни значень у стовпцях А, В та С, починаючи з першої та закінчуючи останньою ітерацією. Для цього потрібно виділити блок осередків А52: С68. За подальшими інструкціями зверніться до прикладу 1.2.

Уточнимо значення кореня, відокремленого у прикладі 1.1. Отже, нехай f(X)= exp(X) - 10*X. Знайдемо корінь, що лежить на інтервалі. Залишимо порожній осередок А70. У комірку В70 запишемо формулу = EXP (A70) -10 * A70. Виберемо команду меню Сервіс- Вибір параметра. Відкриється діалог Вибір параметра, в якому в полі Встановити в осередкузапишемо В70, у полі Значеннязанесемо 0 (нуль), у поле Змінюючи коміркувкажемо А70. Клацніть по кнопці ОК і з'явиться новий діалог, в якому буде показано результат виконання операції. У вікні Стан підбору рішеннябуде показано знайдене значення. Тепер, якщо клацнути на кнопці ОК, в комірку А70 буде внесено знайдене значення кореня, а в комірку B70 - значення функції.

Для того, щоб знайти інший корінь, що лежить на інтервалі, необхідно змінити початкове наближення, яке в нашій таблиці знаходиться в клітинці A70. Запишемо в цей осередок одну з меж інтервалу, наприклад, 4, і знову виконаємо процедуру підбору параметра. Вміст клітин A70 та B70 зміниться, тепер у цих клітинах з'являться координати більшого кореня.

2. СИСТЕМИ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

У загальному вигляді система лінійних рівнянь алгебри записується так: a 11 x 1 +a 12 x 2 +... +a 1n x n = b 1

a 21 x 1 +a 22 x 2 +... +a 2n x n = b 2

......................

a n1 x n +a n2 x 2 +... +a nn x n = b n

Сукупність коефіцієнтів цієї системи запишемо у вигляді квадратної матриці Aз nрядків та nстовпців

a 11 a 12 ... a 1n

a 21 a 22 ... a 2n

a n1 a n2 ... a nn

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

А * Х = В,

де Х- Вектор- стовпець невідомих розмірністю n, а У- Вектор- стовпець вільних членів, теж розмірністю n.

Ця система називається спільної, якщо вона має хоча б одне рішення, та певноюякщо вона має одне єдине рішення. Якщо всі вільні члени дорівнюють нулю, то система має назву однорідний.

Необхідною та достатньою умовою існування єдиного рішення системи є умова DET=0, де DET - визначник матриці А. На практиці при обчислення на комп'ютері не завжди вдається отримати точну рівність DET нулю. У тому випадку, коли DET близький до нуля, системи називають погано обумовленими. При вирішенні комп'ютера малі похибки у вихідних даних можуть призвести до істотних похибок у вирішенні. Умова DET~0 є необхідною для поганої обумовленості системи, але не достатньою. Тому при вирішенні системи на ЕОМ потрібна оцінка похибки, пов'язаної з обмеженістю розрядної сітки комп'ютера.

Існують дві величини, що характеризують ступінь відхилення одержаного рішення від точного. Нехай Хк- Справжнє рішення системи, Хc- Рішення, отримане тим чи іншим методом на ЕОМ, тоді похибка рішення:
Е = Хк - Хc. Друга величина - нев'язка, рівна R = B - A * Xc. У практичних розрахунках контроль точності здійснюється з допомогою нев'язки, це і зовсім коректно.

2.1. Матричний метод.

EXCEL дає можливість розв'язати систему лінійних рівнянь алгебри матричним методом, тобто.

Х = А -1 * Ст.

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

1) отримати матрицю А -1, зворотну матрицю А;

2) отримати рішення системи за формулою Хс = А-1 * В;

3) обчислити новий вектор вільних членів Нд = А * Хс;

4) обчислити нев'язку R = B - Bc;

5) отримати рішення системи за формулою dXc = А -1 * R;

6) порівняти всі компоненти вектора dXcпо модулю із заданою похибкою Е: якщо всі вони менші за Е, то закінчити обчислення, інакше повторити обчислення з п.2, де Хс = Xc + dXc.

Розглянемо матричний метод розв'язання системи з допомогою EXCEL з прикладу.

приклад 2.1.

Розв'язати систему рівнянь

20,9 x 1 + 1,2 x 2 + 2,1 x 3 + 0,9 x 4 = 21,7

1,2 x 1 +21,2 x 2 + 1,5 x 3 + 2,5 x 4 = 27,46

2,1 x 1 + 1,5 x 2 +19,8 x 3 + 1,3 x 4 = 28,76

0,9 x 1 + 2,5 x 2 + 1,3 x 3 +32,1 x 4 = 49,72

EXCEL має такі вбудовані функції, що реалізують матричні обчислення:

а) МОБР - звернення матриці,

б) МУМНІЖ - множення двох матриць,

в) МОПРЕД - обчислення визначника матриці.

При використанні цих функцій важливо правильно і компактно розташувати на робочому аркуші блоки осередків, що відповідають вихідним та робочим матрицям та векторним стовпчикам. Відкриємо новий робочий лист, клацнувши на вибраному Вами ярлику. Відведемо під матрицю Аблок осередків А3: D6. Для наочності укласти його в чорну рамку. Для цього виділимо блок A3: D6, дамо команду меню Формат- Осередкиі у діалозі, що відкрився, виберемо вкладку Рамка. Відкриється новий діалог, у якому клацнемо по полю Рамка-Контурі виберемо в полі Рамка-Стильтовсту ширину лінії. Підтвердимо своє рішення, натиснувши кнопку ОК. Виділимо тепер блок A8: D11 під матрицю А -1і також укладемо його в чорну рамку, зробивши дії, аналогічні блоку матриці А. Далі виділимо блоки осередків під вектор-стовпці (обвівши їх чорною рамкою): блок F8: F11 - під вектор У, блок H8:H11 - під вектор Хс А -1 *В, блок H3:H6 - під вектор Нд, що виходить в результаті множення А*Хс, причому наочності виділимо додатковий блок F3:F6, куди скопіюємо компоненти вектора Хсіз блоку H8:H11. І нарешті, занесемо в комірки Е4 та Е9 знак множення *, а в комірки G4 та G9 знак рівності =, потім, виділяючи по черзі стовпці Е та G, дамо команду меню Формат- Стовпець - Підгін ширини. Таким чином, ми підготували робочий лист до вирішення нашого завдання.

Внесемо вихідні дані: числа матриці Ау комірки блоку A3:D6, а числа вектора вільних членів У- у комірки блоку F8: F11.


Почнемо виконання алгоритму зі звернення матриці А. Для цього виділимо блок А8: D11, куди має бути поміщений результат операції. Цей блок забарвиться у чорний колір, за винятком осередку А8. Клацніть по кнопці f xна панелі Стандартна, здійснивши виклик Майстри Функцій. Відкриється діалог, у якому із поля Категорія функційвиберемо рядок Мат. та тригонометрія, а з поля Ім'я функції- Рядок МОБР. Перейдемо до другого кроку діалогу, натиснувши кнопку Крок>. Тут у полі Масивтреба набити з клавіатури А3: D6, що відповідає блоку осередків, зайнятому матрицею А. Клацнувши на кнопці Закінчити, можна побачити, що в блоці А8: D11 заповнена лише комірка А8. Для завершення операції звернення EXCEL вимагає виконання двох дій. Спочатку треба зробити активним рядок формул, клацнувши по ньому (у будь-якому місці рядка!) – курсор миші прийме при цьому форму I. Перевіркою правильності Ваших дій буде поява зліва від рядка формул чотирьох кнопок, у тому числі із зеленою галочкою. Після цього слід натиснути на клавіатурі клавішу "Ctrl", потім не відпускаючи її - клавішу "Shift", і не відпускаючи її - клавішу "Enter", тобто. в результаті повинні бути натиснуті всі три кнопки одночасно! Ось тепер весь блок А8: D11 буде заповнений числами і можна виділити блок H8: H11, щоб розпочати операцію множення А -1 *В.

Виділивши цей блок, знову викличте Майстер функційі в полі Ім'я функції- Вибирайте функцію МУМНОЖ. Клацнувши по кнопці Крок>, перейдемо до другого кроку діалогу, де у полі Масив1внесемо адресу А8: D11, а поле Масив2- адреса F8: F11. Клацніть по кнопці Закінчитиі виявимо, що в блоці Н8: H11 заповнена лише комірка Н8. Активізуємо рядок формул (має з'явитися зелена галочка!) і за методикою, описаною вище, натиснемо одночасно три клавіші "Ctrl"-"Shift"-"Enter". Результат множення з'явиться у блоці Н8: H11.

Для перевірки точності отриманого рішення системи, проведемо операцію обчислення Вс = А * Хс. З цією метою скопіюємо лише числові значення (а не формули!) осередків з блоку H8: H11 у комірки F3: F6. Зробити це треба так. Виділимо блок H8: H11. Дамо команду меню Виправлення- Копіювати. Виділимо блок F3: F6. Дамо команду меню Виправлення- Спеціальна вставка. Відкриється діалог, у якому у полі Вставитислід вибрати режим Значення. Підтвердимо своє рішення, натиснувши кнопку ОК.

Після цієї операції заповнені числами блоки А3: D6 та F3: F6. Можна приступити до множення матриці Ана вектор Хс. Для цього треба виділити блок Н3: H6, викликати Майстер Функційі, діючи так само, як і при обчисленні Хс = А -1 * В, отримати Нд. Як видно з таблиці, числові значення векторів Уі Ндзбігаються, що говорить про хорошу точність обчислень, тобто. нев'язка у прикладі дорівнює нулю.

Підтвердимо хорошу обумовленість матриці Аобчисленням її визначника. Для цього зробимо активним осередок D13. За допомогою Майстри ФункційВикликаємо функцію МОПРЕД. У поле масив занесемо адресу блоку А3: D6. Клацнувши по кнопці Закінчити, Отримаємо в комірці D13 числове значення визначника матриці А. Як видно, воно значно більше за нуль, що говорить про хорошу обумовленість матриці.

2.2. Метод наближених обчислень.

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

Нехай треба вирішити систему

a 11 x 1 +a 12 x 2 +a 13 x 3 = b 1

a 21 x 1 +a 22 x 2 +a 23 x 3 = b 2

a 31 x 1 +a 32 x 2 +a 33 x 3 = b 3

Припустимо, що діагональні елементи a 11 a 22 a 33 відмінні від нуля. В іншому випадку можна переставити рівняння. Виразимо змінні з першого, другого та третього рівнянь відповідно. Тоді

x 1 = / a 11

x 2 = / a 22

x 3 = / a 33

Задамо початкові наближення невідомих

Підставляючи в праву частину перетвореної системи, отримаємо нове перше наближення

Знаходження коренів рівнянь

Графічний спосіб знаходження коренів полягає у побудові графіка функції f(x) на відрізку . Крапка перетину графіка функції з віссю абсцис дає наближене значення кореня рівняння.

Знайдені таким чином наближені значення коренів дозволяють виділити відрізки , у яких за необхідності можна виконати уточнення коренів.

При знаходженні коренів розрахунковим шляхом для безперервних функцій f(x) керуються такими міркуваннями:

– якщо кінцях відрізка функція має різні знаки, то між точками a і b осі абсцис є непарне число коренів;

- якщо функція має однакові знаки на кінцях інтервалу, то між a і b є парне число коренів або їх зовсім немає;

– якщо кінцях відрізка функція має різні знаки і перша похідна, або друга похідна не змінюють знаки цьому відрізку, то рівняння має єдиний корінь на отрезке .

Знайдемо все дійсне коріння рівняння x 5 –4x–2=0 на відрізку [–2,2]. Створимо електронну таблицю.


Таблиця 1

У таблиці 2 отримано результати розрахунку.

Таблиця 2

Аналогічно є рішення на інтервалах [-2,-1], [-1,0].


Уточнення коренів рівняння

З використанням режиму «Пошук рішень»

Для цього рівняння слід уточнити з похибкою Е=0,001 все коріння рівняння x 5 –4x–2=0.

Для уточнення коріння на інтервалі [-2,-1] складемо електронну таблицю.

Таблиця 3



Запускаємо режим «Пошук рішення» у меню «Сервіс». Виконуємо команди режиму. Режим показу відображає знайдене коріння. Аналогічно уточнюємо коріння інших інтервалах.

Уточнення коренів рівнянь

З використанням режиму "Ітерації"

Метод простих ітерацій має два режими «Вручну» та «Автоматично». Для запуску режиму "Ітерації" в меню "Сервіс" відкривають вкладку "Параметри". Далі йдуть команди режиму. На вкладці «Обчислення» можна вибрати автоматичний або ручний режим.


Вирішення систем рівнянь

Рішення систем рівнянь в Excel проводиться шляхом зворотних матриць. Розв'язати систему рівнянь:

Створимо електронну таблицю.

Таблиця 4

A B C D E
Розв'язання системи рівнянь.
Ax=b
Вихідна матриця А Права частина b
-8
-3
-2 -2
Зворотна матриця (1/А) Вектор рішення x=(1/A)/b
= МОБР (А6: С8) = МОБР (А6: С8) = МОБР (А6: С8) =МУМНОЖ(А11:С13;Е6:Е8)
= МОБР (А6: С8) = МОБР (А6: С8) = МОБР (А6: С8) =МУМНОЖ(А11:С13;Е6:Е8)
= МОБР (А6: С8) = МОБР (А6: С8) = МОБР (А6: С8) =МУМНОЖ(А11:С13;Е6:Е8)

Функція МОБР повертає масив значень, який вставляється відразу в стовпець осередків.

У таблиці 5 наведено результати розрахунку.

Таблиця 5

A B C D E
Розв'язання системи рівнянь.
Ax=b
Вихідна матриця А Права частина b
-8
-3
-2 -2
Зворотна матриця (1/А) Вектор рішення x=(1/A)/b
-0,149 0,054 -0,230
0,054 0,162 -0,189
-0,122 0,135 -0,824

Список використаних літературних джерел

1. Турчак Л.І. Основи чисельних методів: Навч. посібник для вузів/ред. В.В. Щенніков.-М.: Наука, 1987.-320с.

2. Банді Б. Методи оптимізації. Вступний курс.-М.: Радіо і зв'язок, 1988.-128с.

3. Євсєєв А.М., Ніколаєва Л.С. Математичне моделювання хімічних рівноваг.-М.: Вид-во Моск. ун-ту, 1988.-192с.

4. Безгрошових А.А. Інженерні методи складання рівнянь швидкостей реакцій та розрахунку кінетичних констант.-Л.: Хімія, 1973.-256с.

5. Степанова Н.Ф., Єрликіна М.Є., Філіппов Г.Г. Методи лінійної алгебри у фізичній хімії.-М.: Вид-во Моск. ун-ту, 1976.-359с.

6. Бахвалов Н.С. та ін Чисельні методи у завданнях та вправах: Навч. посібник для вузів/Бахвалов Н.С., Лапін А.В., Чижонков Є.В. - М: Вищ. шк., 2000.-190с. - (Вища математика/Садовничий В.А.)

7. Застосування обчислювальної математики у хімічній та фізичній кінетиці, під ред. Л.С. Полак, М: Наука, 1969, 279 стор.

8. Алгоритмізація розрахунків у хімічній технології Б.А. Жидков, А.Г. Бондар

9. Обчислювальні методи інженерів-хіміків. Х.Розенброк, С.Сторі

10. Орвіс В.Д. Excel для вчених, інженерів та студентів. - Київ: Юніор, 1999.

11. Ю.Ю. Чисельні методи на Mathcade - Астраханський держ.пед.ун-т: Астрахань, 2000.

Дана система nалгебраїчних рівнянь з nневідомими:

Цю систему можна записати у матричному вигляді:
,

;;.

де A - квадратна матриця коефіцієнтів, X - вектор стовпець невідомих, B - вектор стовпець вільних членів.

Чисельні методи розв'язання систем лінійних рівнянь поділяються на прямі та ітераційні. Перші використовують кінцеві співвідношення обчислення невідомих. Приклад – метод Гауса. Другі ґрунтуються на послідовних наближеннях. Приклади - метод простої ітерації та метод Зейделя.

  1. Метод Гауса

Метод ґрунтується на приведенні матриці системи до трикутного вигляду. Це досягається послідовним винятком невідомих рівнянь системи. Спочатку за допомогою першого рівняння виключається x 1 із усіх наступних рівнянь. Потім за допомогою другого рівняння виключається x 2 з наступних і т.д. Цей процес називається прямим ходом методу Гаусса і продовжується доти, доки в лівій частині останнього n-го рівняння не залишиться лише один член з невідомим x n. В результаті прямого ходу система набуває вигляду:

(2)

Зворотний хід методу Гаусса полягає в послідовному обчисленні невідомих шуканих, починаючи з x nі закінчуючи x 1 .

  1. Метод простої ітерації та метод Зейделя

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

.

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

(3)

де k- номер ітерації, - задана точність.

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

(4)

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

(5)

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

(6)

3.4. Реалізація у пакеті Excel

Як приклад розглянемо систему рівнянь:

Ця система задовольняє умові збіжності і може бути вирішена як прямими, і ітераційними методами. Послідовність дій (рис.7):

    Оформити заголовок у рядку 1 «Кількісні методи розв'язання систем лінійних рівнянь».

    В області D3:H6 ввести вихідні дані, як показано на малюнку.

    Введіть у клітинку F8 текст заголовка «Метод Гаусса» (вирівнювання по центру).

    Копіювати вихідні дані E4:H6 в область B10: E12. Це - вихідні дані прямого ходу методу Гаусса. Позначимо відповідні рядки A1, A2 та A3.

    Підготувати місце для першого проходу, позначивши в області G10:G12 назви рядків B1, B2 та B3.

    Ввести в комірку H10 формулу = B10 / $ B $ 10. Скопіювати цю формулу на комірки I10: K10. Це - нормування на коефіцієнтa 11 .

    Ввести в комірку H11 формулу = B11-H10 * $ B $ 11. Скопіювати цю формулу на комірки I11: K11.

    Ввести в комірку H12 формулу = B12-H10 * $ B $ 12. Скопіювати цю формулу на комірки I12: K12.

    Підготувати місце для другого проходу, позначивши в області A14:A16 назви рядків C1, C2 та C3.

    Ввести в комірку B14 формулу = H10. Скопіювати цю формулу на комірки C14: E14.

    Ввести в комірку B15 формулу = H11/$I$11. Скопіювати цю формулу на комірки C15: E15.

12. Ввести в комірку В16 формулу = Н12-В15 * $ I $ 12. Скопіювати цю формулу на комірки С16: Е16.

13. Підготувати місце для третього проходу, позначивши в області G14:G16 назви рядків D1, D2 та D3.

14. Ввести в комірку H14 формулу = В14. Скопіювати цю формулу на комірки I14:К14.

15. Ввести в комірку H15 формулу = В15. Скопіювати цю формулу на комірки I15:К15.

16. Ввести в комірку Н16 формулу = B16 / $ D $ 16. Скопіювати цю формулу на комірки I16:К16.

17. Підготувати місце для зворотного ходу методу Гаусса, ввівши до осередків В18, E18 і H18 відповідні тексти «х3=», «х2=» та «х1=».

18. Ввести в комірку С18 формулу = К16. Отримаємо значення змінної х 3.

19. Ввести у комірку F18 формулу «=К15-J15*К16». Отримаємо значення змінної х 2.

20.Ввести в комірку I18 формулу "=K10-I10 * F18-J10 * C18". Отримаємо значення змінної х 1.

21. Введіть у комірку F21 текст заголовка «Метод простої ітерації» (вирівнювання по центру).

22. Ввести в комірку J21 текст «е=» (вирівнювання праворуч).

23. Ввести в комірку К21 значення точності е (0,0001).

24. Позначити області А23:А25 назви змінних.

25. В області В23: В25 встановити початкові значення змінних (нулі).

26. Ввести в комірку С23 формулу «=($H$4-$F$4*B24-$G$4*B25)/$E$4». Отримаємо значення змінної х 1 на першій ітерації.

27. Ввести в комірку С24 формулу «=($H$5-$E$5*B23-$G$5*B25)/$F$5». Отримаємо значення змінної х 2 на першій ітерації.

28. Ввести в комірку С25 формулу «=($H$6-$E$6*B23-$F$6*B24)/$G$6». Отримаємо значення змінної х 3 на першій ітерації.

29. Ввести в комірку С26 формулу «=ЯКІ(АВS(С23-В23)>$К$21;" "; $К$21;" "; ""коріння")))». Це - перевірка на досягнення заданої точності (при цьому друкується повідомлення «коріння»).

30. Виділити діапазон С23:С26 та скопіювати його до стовпця К, використовуючи прийом протягування. При появі у рядку 26 повідомлення «коріння» відповідний стовпець міститиме наближені значення змінних х 1,x 2, x 3, які є розв'язком системи рівнянь із заданою точністю.

31. В області А27:К42 побудувати діаграму, що показує процес наближення значень змінних х 1,х 2,x 3 до вирішення системи. Діаграма будується в режимі Графік, де по осі абсцис відкладається номер ітерації.

32. Введіть у комірку F43 текст заголовка «Метод Зейделя» (вирівнювання по центру).

33. Ввести в комірку J43 текст «е=» (вирівнювання праворуч).

34. Ввести в комірку К43 значення точності е(0,0001).

35. Позначити області А45:А47 назви змінних.

36. В області В45: В47 вказати початкові значення змінних (нулі).

37.Ввести в комірку С45 формулу «=($H$4-$F$4*B46-$G$4*B47)/$E$4». Отримаємо значення змінної х 1 на першій ітерації.

38.Ввести в комірку С46 формулу «=($H$5-$E$5*C45-$G$5*B47)/$F$5». Отримаємо значення змінної х 2 на першій ітерації.

39. Ввести в комірку С47 формулу «=($H$6-$E$6*C45-$F$6*C46)/$G$6». Отримаємо значення змінної x 3, на першій ітерації.

40. Ввести в комірку С48 формулу «=ЯКІ(АВ5(С45-В45)>$К$43;" "; $К$43;" ";"коріння")))».

41. Виділити діапазон С45:С48 і скопіювати його до стовпця До, використовуючи прийом протягування. При появі у рядку 26 повідомлення «коріння» відповідний стовпець міститиме наближені значення змінних х 1,х 2,x 3, які є розв'язком системи рівнянь із заданою точністю. Видно, що метод Зейделя сходиться швидше, ніж метод простої ітерації, тобто задана точність досягається за менше ітерацій.

42. В області А49:К62 побудувати діаграму, що показує процес наближення значень змінних х1, х2, х3 до розв'язання системи. Діаграма будується в режимі Графік, де по осі абсцис відкладається номер ітерації.

У Excel є великий інструментарій на вирішення різних видів рівнянь різними методами.

Розглянемо на прикладах деякі варіанти рішень.

Вирішення рівнянь методом підбору параметрів Excel

Інструмент "Підбір параметра" застосовується у ситуації, коли відомий результат, але невідомі аргументи. Excel підбирає значення до того часу, поки обчислення дасть необхідний результат.

Шлях до команди: "Дані" - "Робота з даними" - "Аналіз "що-якщо"" - "Підбір параметра".

Розглянемо з прикладу рішення квадратного рівняння х 2 + 3х + 2 = 0. Порядок знаходження кореня засобами Excel:


Для вибору параметра програма використовує циклічний процес. Щоб змінити кількість ітерацій та похибку, потрібно зайти до параметрів Excel. На вкладці Формули встановити граничну кількість ітерацій, відносну похибку. Поставити галочку "включити ітеративні обчислення".



Як вирішити систему рівнянь матричним методом у Excel

Дана система рівнянь:


Отримано коріння рівнянь.

Вирішення системи рівнянь методом Крамера в Excel

Візьмемо систему рівнянь із попереднього прикладу:

Для їх вирішення методом Крамера обчислимо визначники матриць, отриманих заміною одного стовпця в матриці на стовпець-матрицю В.

Для розрахунку визначників використовуємо функцію МОПРЕД. Аргумент – діапазон із відповідною матрицею.

Розрахуємо також визначник матриці А (масив – діапазон матриці А).

Визначник системи більше 0 – рішення можна визначити за формулою Крамера (D x / |A|).

Для розрахунку Х 1: = U2 / $ U $ 1, де U2 - D1. Для розрахунку Х2: =U3/$U$1. І т.д. Отримаємо коріння рівнянь:

Вирішення систем рівнянь методом Гауса в Excel

Наприклад візьмемо найпростішу систему рівнянь:

3а + 2в - 5с = -1
2а - в - 3с = 13
а + 2в - с = 9

Коефіцієнти запишемо до матриці А. Вільні члени – до матриці В.

Для наочності вільні члени виділимо заливкою. Якщо в першому осередку матриці А виявився 0, потрібно поміняти місцями рядки, щоб тут виявилося відмінним від 0 значення.

Приклади розв'язання рівнянь методом ітерацій в Excel

Обчислення у книзі мають бути налаштовані таким чином:


Робиться це на вкладці Формули в Параметрах Excel. Знайдемо корінь рівняння х - х 3 + 1 = 0 (а = 1, b = 2) методом ітерації із застосуванням циклічних посилань. Формула:

Х n+1 = X n - F (X n) / M, n = 0, 1, 2, ….

M – максимальне значення похідної за модулем. Щоб знайти М, зробимо обчислення:

f'(1) = -2 * f'(2) = -11.

Отримане значення менше 0. Тому функція буде протилежним знаком: f(х) = -х + х 3 – 1. М = 11.

У комірку А3 введемо значення: а = 1. Точність – три знаки після коми. Для розрахунку поточного значення х до сусіднього осередку (В3) введемо формулу: =ЯКЩО(B3=0;A3;B3-(-B3+СТУПЕНЬ(B3;3)-1/11)).

У комірці С3 проконтролюємо значення f(x): за допомогою формули =B3-СТУПЕНЬ(B3;3)+1.

Корінь рівняння – 1,179. Введемо в комірку А3 значення 2. Отримаємо той самий результат:

Корінь на заданому проміжку один.