Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Визначення ортогональної матриці

Реферат Визначення ортогональної матриці





align="justify"> При виконанні арифметичних дій з матрицями слід застосувати стандартні математичні алгоритми.


. 3.2 Опис алгоритму

У програмі вирішуються одночасно кілька завдань:

Транспонування вихідної матриці.

Знаходження оберненої матриці з вихідної.

Обчислення вірності обчислень, шляхом порівнювання твори транспонованою і зворотної матриці з одиничною.

Порівнювання транспонованою і зворотної матриці на предмет ортогональності.

Висновок результатів обчислень.

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

Для знаходження оберненої матриці скористаємося алгоритмом Гаусса - Жордана, а саме:

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

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

. З решти рядків віднімаємо перший рядок, помножену на перший елемент відповідного рядка, з метою отримати першим елементом кожного рядка (крім першої) нуль.

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

. Після повторення цієї процедури n - 1 раз отримуємо верхню трикутну матрицю

. Віднімаємо з передостанньої рядки останній рядок, помножену на відповідний коефіцієнт, з тим, щоб в передостанньому рядку залишилася тільки 1 на головній діагоналі.

. Повторюємо попередній крок для наступних рядків. У підсумку отримуємо одиничну матрицю і рішення на місці вільного вектора (з ним необхідно проводити всі ті ж перетворення).

. Щоб отримати зворотну матрицю, потрібно застосувати всі операції в тому ж порядку до одиничної матриці.

Для перевірки обчислень потрібно обчислити добуток оберненої матриці на транспоновану матрицю і порівняти результат з одиничною матрицею. Множення матриць відбувається поелементно. Для цього використовується три цикли, перший і другий використовується для перебору елементів результуючої матриці, другий і третій для перебору елементів транспонований матриці, перший і третій для перебору елементів оберненої матриці. Після кожного проходження третього циклу, накопичуємо суму, яка після завершення циклу прирівнюється до відповідного елементу результуючої матриці. Для того, щоб значення були вірними, після проходження першого і другого циклу, оголошуємо поточний елемент результуючої матриці рівним нулю. Після завершення роботи всіх циклів на виході повинна бути заповнена, що не нульова матриця. Далі поелементно будемо порівнювати отриману матрицю з одиничною матрицею. Знаючи, що одинична матриця - це матриця, у якій головні елементи одиниці, а решта нулі, будемо використовувати два цикли для прогону всієї матриці поелементно. В кінці кожного циклу задамо умову: якщо елемент знаходитися на головній діагоналі (тобто aij таке, що i=j) і він не дорівнює одиниці, то будемо накопичувати лічильник «істини»; якщо елемент знаходитися не на головній діагоналі (тобто aij таке, що i!=j) і він не дорівнює нулю, то так само будемо накопичувати лічильник «істини». У підсумку, після проходження всіх циклів, порівняємо лічильник «істини» з вихідним значенням і програма зробить висновок, одинична чи матриця. Якщо отримана матриця одинична - то результат знаходження зворотної та транспонований матриці вірний. Примітка: тому ми не можемо порівняти точно два дійсних числа, то для цього будемо використовувати якусь e, рівну e=0,00001. Тобто можна сказати, що результат обчислень ми отримуємо з точністю e.

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

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


. 3.3 Організація вхідних і вихідних даних

Вхідні дані - це задана в завданні матриця.

Вихідні дані - це висновок про ортогональності матриці.

Крім того, при запуску програми видаються текстові повідомлення про послідовність дій програми і висновок проміжних матриць: заданої завданням, зворотної, транспонованою, результат твори зворотної матриці на транспоновану матр...


Назад | сторінка 2 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Автоматизація розв'язання задачі на находженіе матриці в складі іншої м ...
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми сортування елементів, що знаход ...
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми обчислення суми елементів рядкі ...
  • Реферат на тему: Сортування рядків матриці в програмі Pascal
  • Реферат на тему: Комплексні числа і матриці