Рішення систем лінійних алгебраїчних рівнянь в excel

Методи рішення систем лінійних алгебраїчних рівнянь добре описані в підручнику "Основи обчислювальної математики. Демидович Б.П. Марон І.А. 1966". Завантажити - 11Мб

1. Метод оберненої матриці (рішення в Excel)

Якщо дано рівняння:
A * X = B, де A - квадратна матриця, X, B - вектора;
причому B - відомий вектор (т е стовпець чисел), X - невідомий вектор,
то рішення X можна записати у вигляді:
X = A -1 * B, де A -1 - зворотна від А матриця.
В MS Excel зворотна матриця обчислюється функцією МОБР (), а перемножуються матриці (або матриця на вектор) - функцією МУМНОЖ ().

Є "тонкощі" використання цих матричних дій в Excel. Так, щоб обчислити обернену матрицю від матриці А, потрібно: Щоб помножити матрицю на вектор: Є й інший спососб, при якому використовується кнопка будівника функції Excel.

Приклад СЛАР 4-го порядку

Завантажити документ Excel, в якому цей приклад вирішене різними методами.

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

Метод Гаусса докладно (по кроках) виконується тільки в навчальних цілях, коли потрібно показати, що Ви це вмієте. А щоб вирішити реальну СЛАР, краще застосувати в Excel метод оберненої матриці або скористатися спеціальними програмами, наприклад, цієї

Короткий опис.

  1. Вирішую систему рівнянь: A * X = B, де A - квадратна матриця n-го порядку, X, B - вектора
  2. До матриці A праворуч приписую вектор B. Отримую розширену матрицю A
  3. Надалі A позначає розширену матрицю (n рядків, n + 1 стовпець)
  4. Aij - позначає елемент матриці, що знаходиться на i-му рядку і j-му стовпці
  5. Ділю 1-й рядок на A11, т е A'1j = A1j / A11 (j = 1..n + 1). В результаті A'11 = 1. A 'позначає перетворену рядок
  6. Перетворю інші рядки за формулою: A'ij = Aij - A'1j * Ai1 (i = 2..n; j = 1..n + 1)
  7. В результаті 1-й стовпець в рядках 2..n заповниться нулями
  8. Відзначимо, що всі ці перетворення не порушують правильність рівнянь
  9. Аналогічні дії проводимо для обнулення 2-го стовпця в рядках 3..n, тобто:
  10. Ділю 2-й рядок на A'22, т е A''2j = A'2j / A'22 (j = 2..n + 1). В результаті A''22 = 1. A '' позначає резельтат 2-го перетворення рядка
  11. Перетворю інші рядки за формулою: A''ij = A'ij - A''2j * A'i2 (i = 3..n; j = 2..n + 1)
  12. В результаті 2-й стовпець в рядках 3..n заповниться нулями
  13. Аналогічні дії проводимо далі
  14. В результаті ліві n стовпців матриці A превращаютс в верхню трикутну матрицю, т е нижче головної діагоналі знаходяться тільки нулі (а на головній діагоналі - одиниці) - див Рис 1. На цьому малюнку вектор B - зліва, S - номер кроку
  15. Потім виконується "зворотний хід", починаючи з нижнього рядка, з якої можна обчислити Xn = Bn / Ann, наприклад: Х4 = 9,55741 / 68,6388 = 0,13924 (рис. 1)
  16. Потім можна обчислити X3 = (0,9065 - 2,40919 * 0,13924) = 0,57059
  17. Потім з другого рядка: X2 + 2,83562 * X3 + 8,17808 * X4 = 2,47945 обчислюю X2, і т д

3. Метод Якобі (метод простих ітерацій)

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

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


Для застосування методу Якобі систему рівнянь потрібно перетворити до вигляду:
X = B2 + A2 * X преобразився:

Далі ділю кожен рядок на множник лівого стовпця, тобто на 16, 7, 3, 70 відповідно. Тоді матриця А2 має вигляд:

А вектор В2:


завантажити