Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Обчислення зворотної матриці методом Гауса

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Розробка програмних модулів базових операцій обробки на підставі розрядно-логарифмічного кодування. Дослідження алгоритму розв'язку системи лінійних алгебраїчних рівнянь. Реалізація алгоритму Гауса. Покращення точності розрахунків за допомогою рл-чисел.
Краткое сожержание материала:

Размещено на

Завдання

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

2. Реалізація варіанту курсової роботи як обчислення зворотніх матриць

3. Порівняльний аналіз виконується з варіантом виконання традиційними засобами ЕОМ за методами Гауса та Крамера

Варіант 9

Обчислення зворотної матриці методом Гауса.

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

Теоретичні відомості

Метод Гауса -- алгоритм розв'язку системи лінійних алгебраїчних рівнянь.

Початок алгоритму.

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

З цього моменту починається зворотний хід.

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

Нехай вихідна система виглядає наступним чином

Матриця А називається основний матрицею системи,b - стовпцем вільних членів.

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

При цьому будемо вважати, що базисний мінор (ненульовий мінор максимального порядку) основної матриці знаходиться у верхньому лівому куті, тобто в нього входять лише коефіцієнти при змінних [3].

Тоді змінні називаються головними змінними. Всі інші називаються вільними.

Якщо хоча б одне число, де, то розглянута система несумісна, тобто у неї немає жодного рішення.

Нехай для будь-яких.

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

Де

Алгоритм

Алгоритм розв'язання СЛАР методом Гауса підрозділяється на два етапи.

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

· На другому етапі здійснюється так званий зворотний хід, суть якого полягає в тому, щоб висловити все отримані базисні змінні через небазисні і побудувати фундаментальну систему рішень, або, якщо всі змінні є базисними, то виразити в чисельному вигляді єдине рішення системи лінійних рівнянь. Ця процедура починається з останнього рівняння, з якого висловлюють відповідну базисну змінну (а вона там всього одна) і підставляють в попередні рівняння, і так далі, піднімаючись по «сходинках» наверх. Кожному рядку відповідає рівно одна базисна змінна, тому на кожному кроці, крім останнього (самого верхнього), ситуація в точності повторює випадок останнього рядка.

Метод Гаусса вимагає O(n3) арифметичних операцій.

Розрядно-логарифмічного аріфметика

Розрядно-логаріфмічним кодуванням даних називають зображення двійкового операнда у вигляді набору двійкових кодів ненульових разрядів {Nxi} того самого операнда, кожний з котрих визначається як результат обчислення логаріфму від ваги цього розряду:

де xi- ненульовий розряд,

p- основна система числення.

Вигляд РЛ-числа

Алгоритм переведення числа з десяткової системи числення в РЛ

ВХІД: Х10, max.

РЕЗУЛЬТАТ: { Хрл }.

I. А =Х, k = max.

2.R= A-2k.

3.Якщо R = 0, то Хрл <k, перехід 9, інакше 4.

4.Якщо R<0, k<k-1, перехід 2, інакше 5.

5.k<k-1

6.А<R.

7.Хрл<k

8.Перехід 2.

9.РЕЗУЛЬТАТ: { Хрл }.

Алгоритм переведення РЛ-числа в десяткову систему числення.

ВХІД: XРЛ = sign X, q,{Nx1, Nx2, Nx3, Nx4 ....Nxq}.

РЕЗУЛЬТАТ: X10.

l. S<0.

2.Для i = 1 до q виконувати:

2.1. S<S+2Nxi

3. X10<S.

4.РЕЗУЛЬТАТ: X10.

Алгоритм порівняння

ВХІД: А = sign A QAi}; В = sign В QB{bi}.

РЕЗУЛЬТАТ: Р1 (А = В), Р2 (А ?В).

1.Якщо sign А = sign В, то перейти до 2, інакше 5.

2.Якщо QA = QB то перейти до 3, інакше 5

3.Для i = 1 до QA виконувати:

3.1. Якщо NAi = NBi то цикл, інакше 5.

4.Результат: Р1 (А = В).

5.Результат : Р2 (А ? В).

Алгоритм приведення подібних(AP) та сортування(AS)

AS:

ВХІД: А = sign A QAi}; В = sign В QB {bi}.

РЕЗУЛЬТАТ: {al...ak...bf...bi}; а1? ...аk? ..bf ? bi.

1.Об'єднання структур РЛ кодів А та кодів В у масив

2.Обчислення загального індексу Q = QA + QB

3.Для і = 1 до Q - 1 виконувати:

3.1. ЯКЩО Хіi+1, то перепис кодів (С = Xj, Xj = X1 +і X1+1=C)

РЕЗУЛЬТАТ: X = {х1..хk..хf..хi}; а1? ...аk? ..bf ? bi.

AP:

ВХІД: А = sign A QAi}; В = sign В QB{bi}.

РЕЗУЛЬТАТ: X={х1..хk..хf..хi}; x1?..xk?..xf ?…xi.

1.Об'єднання структур РЛ кодів А та кодів В у масив

2.Обчислення загального індексу Q = QA + QB

3.Для i= 1 до Q - 1 виконувати:

3.1. Якщо хi ? xi+1, то xi i + 1; виключення елемента хi + 1 шляхом виконання зсуву масиву X на один елемент; Q=Q-1 перехід на 3.

РЕЗУЛЬТАТ: X= { х1..хk..хf..хi}; x1?..xk?..xf ?…xi.

Алгоритм додавання

ВХІД: А = sign A QA {аi}; В = sign В QB{bi}.

РЕЗУЛЬТАТ: S = sign S Qs{si}

1.Перевірка на рівність нулеві операндів.

2.Об'єднання структур PJI кодів А та кодів В у масив X.

3.Обчислення загального індексу Q=QA + QB

4.Викликати Алгоритм AS для обробки масиву X.

5.Викликати Алгоритм АР для обробки масиву.

6.Встановити знак результату sign S.

РЕЗУЛЬТАТ: s= sign S Qs{si}.

Алгоритм віднімання

ВХІД: А = sign А QA{ai}, В = sign В QB{bi}.

РЕЗУЛЬТАТ: V= sign VQv{Vi}.

1.Для i= 1 до min (QA, QB) виконувати:

1.1. Якщо аi = bi то аi = 0, bi, = 0, QA = QA -1, QB = QB - 1

2.Обчислити СЗОЕ А -- МЗО В, сформувати масив массив X.

3.Для i=1 до min (Qx, QB) виконувати:

3.1. Якщо хi = bі, то хi = 0, bi = 0, Qx = Qx -1, QB = QB - 1

4.Сформувати масив Y= {А, Х}.

Другие файлы:

Обчислення матричних задач
Обчислення визначника матриці методом Гаусса. Розгорнення характеристичного визначника заданої матриці методом Крилова. Обчислення наближеного значенн...

Розв'язання рівнянь методом оберненої матриці та методом Гауса
Контрольна роботаЗ дисциплiни: Вища математикаЗа темою (роздiлом навчального плану)Прізвище,ім’я, по батькові студентаДанiщук Мирослава ЕвгенiївнаПрiз...

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

Розв'язування систем лінійних рівнянь методом Гауса
Застосування методу Гауса (або методу послідовного виключення невідомих) для розв'язання систем лінійних рівнянь. Економний спосіб запису за допомогою...

Обчислення визначника методом Гауса