Розв'язання системи чотирьох лінійних рівнянь. Матричний метод

Огляд складання програми на мові програмування С++ для обчислення чотирьох лінійної системи рівнянь матричним методом. Обчислення алгебраїчних доповнень до елементів матриці. Аналіз ітераційних методів, заснованих на використанні повторюваного процесу.

Рубрика Математика
Вид практическая работа
Язык украинский
Дата добавления 28.05.2012
Размер файла 422,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru/

Размещено на http://allbest.ru/

Міністерство освіти та науки, молоді та спорту України

Дніпропетровський національний університет ім. О. Гончара

Факультет фізики, електроніки та комп'ютерних систем

Кафедра радіоелектроніки

ПРАКТИЧНА РОБОТА

З дисципліни: «Обчислювальна математика»

на тему: «Розв'язання системи чотирьох лінійних рівнянь. Матричний метод»

Виконав: студент Пономар А.С.

Перевірив: Доц. , к. ф. - р. ф. Скуратовський І.А.

м.Дніпропетровськ 2012

ЗМІСТ

Реферат

Вступ

1. Умова задач

2. Теоретична частина

3. Практична частина: результати вирішення задачі

4. Листинг програми

5. Приклад роботи програми

Висновки

Список використаної літератури

РЕФЕРАТ

Рішення лінійної системи рівнянь матричним методом , написання програми на мові С++ .

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

Отримані результати задовольняють заданим умовам поставленої задачі.

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

ЗНАХОДЖЕННЯ ЧОТИРЬОХ НЕВІДОМИХ В ДАНІЙ СИСТЕМІ

ВСТУП

Мета роботи: скласти програму на мові програмування С++, для обчислення чотирьох лінійної системи рівнянь матричним методом.

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

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

Для рішення данного типу задачі у своїй роботі, я використовую мову програмування С++.

1. УМОВА ЗАДАЧІ

Розв'язати систему чотирьох лінійної системи рівнянь матричним методом

Задана система:

(1.1)

Завдання

Скласти програму для рішення цієї системи матричним методом

лінійний матричний алгебраїчний ітераційний

2. ТЕОРЕТИЧНА ЧАСТИНА

Як відомо матричний метод відноситься до прямих методів (матричний метод, метод Гаусса, метод Крамера ) розв'язку систем , ітераційні методи це (метод Гаусса-Зейделя, метод простої ітерації, метод хорд). Прямі методи, дозволяють знайти рішення за певну кількість кроків. Ітераційні методи, засновані на використанні повторюваного процесу і дозволяють отримати рішення в результаті послідовних наближень.

Багато задач математичного аналізу, диференціальних та інтегральних рівнянь зводяться при чисельному рішенні до вирішення завдань лінійної алгебри і, зокрема, до розв'язання системи лінійних алгебраїчних рівнянь (коротко - СЛАР) виду:

(2.1)

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

(2.2)

(2.3)

Скрізь далі передбачається, що:

Методи вирішення більшості завдань чисельних методів (у тому числі завдань рішення лінійних алгебраїчних систем) можна розділити на два типи: прямі та ітераційні. Метод рішення задачі називається прямим, якщо він дає її точне рішення за кінцеве число дій. Зауважимо, що при реалізації прямого методу на ЕОМ взагалі кажучи виникає обчислювальна похибка, пов'язана з кінцевим числом розрядів ЕОМ для представлення дійсних чисел. Метод рішення задачі називається ітераційним, якщо він дає точне рішення як межа послідовності наближень, що обчислюються за однакової схемою, тобто

де x - точне рішення задачі, xk - k-те наближення (ітерація) до рішення. При реалізації ітераційного методу на ЕОМ його доводиться обривати на якомусь наближенні з номером K і думати x ? x(k). Зазвичай вказують точність е , з якого потрібно знайти рішення x і умова закінчення ітерацій задають таким чином, щоб норма різниці точного рішення та чергового ітераційного наближення не перевищувала е. Типові значення задається похибки е знаходяться в діапазоні 10-3 - 10-8. До прямих методів розв'язування СЛАР відносяться відомий з алгебри метод Крамера, метод Гауса і його модифікації та інші, до ітераційним - метод простої ітерації, метод Зейделя і інші.

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

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

(2.4)

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

(2.5)

Надалі будуть завжди використовуватися лише узгоджені векторні та матричні норми.

1. Матриця A називається симетричною, якщо AT = A.

2. Матриця A називається трьохдіагональной, якщо всі елементи, що не знаходяться на головній діагоналі і її сусідніх (наддіагоналі і піддіагоналі), дорівнюють нулю.

3. Верхньою (нижньою) трикутньою називається така матриця, у якої дорівнюють нулю усі елементи, розташовані нижче (вище) головної діагоналі.

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

Якщо всі нерівності строгі, то говорять, що матриця A - із строгим діагональним переваженням.

(2.6)

3. МАТРИЧИЙ МЕТОД

Система лiнiйних рівнянь записується в матричному вигляді, тобто виписуємо всі коефіцієнти, що стоять перед « х1,х2,х3,х4 » також стовпець вільних членів коефіцієнти, що стоять після знаку « = »

В = (3.1)

Розв'язання матричного рiвняння зводиться до знаходження обернено матрицi А-1 i подальшого перемноження її на матрицю вiльних членiв

Формула для знаходження невідомих коефіцієнтів « x1,x2, x3, x4 »

Х=*В (3.2)

Обернена матриця А-1 обчислюється таким чином:

а) знаходиться визначник початкової матрицi А:

det A=(3.3)

б) обчислюються алгебраїчнi доповнення до елементiв матрицi

(3.4)

в) складаться матриця, елементами яко є алгебраїчнi доповнення:

А=(3.5)

г) транспонується матриця А. (транспонована матриця - матриця, у якiй строки міняються місцями зі стовпчиками):

С= (3.6)

д) обчислюються елементи обернено матриці А діленням елементів матриці С на величину detA:

(3.7)

Правильність розрахунку елементів А-1 можна перевірити, виконуючи перевірку за формулою:

A ==E (3.8)

E - одинична матриця, де всі елементи крім тих, що стоять на головній діагоналі = 0

E= (3.9)

Після знаходження матриця перемножується на стовбець вільних членів В, за формулою:

Х=*В (3.10)

та виконавши дані обчислення отримуємо невідомі: х1,х2,х3,х4 з задої чотирьох лінійної системи рівнянь.

4. ПРАКТИЧНА ЧАСТИНА: РЕЗУЛЬТАТИ ВИРІШЕННЯ ЗАДАЧІ

В =

5. ЛИСТИНГ ПРОГРАМИ

#include <iostream>

#include <math.h>0

using namespace std;

double minor_ij(int,int); // minor - алгебрарическое дополнение

double a[4][4],m[3][3];

void main(void)

{

int i=0,j=0;

double b[4];

for(;i!=4;i++)

cout<<”a[”<<i+1<<”,1]*x1+a[”<<i+1<<”,2]*x2+a[”<<i+1<<”,3]*x3+a[”<<i+1<<”,4]*x4=b”<<i+1<<”\n”;

cout<<”\n”;

for(i=0;i!=4;i++)

for(j=0;j!=4;j++)

{

cout<<”a[”<<i+1<<”][”<<j+1<<”]=”;

cin>>a[i][j];

}

for(i=0;i!=4;i++)

{

cout<<”b[”<<i+1<<”]=”;

cin>>b[i];

}

double minor[4][4];

for(i=0;i!=4;i++)

for(j=0;j!=4;j++)

minor[i][j]=minor_ij(i,j);

double det=0;

for(i=0;i!=4;i++)

det+=a[0][i]*minor[0][i];

if (det!=0)

{

for(i=0;i!=4;i++)

for(j=0;j!=4;j++)

a[i][j]=minor[j][i]/det;

double x[4],p;

for(i=0;i!=4;i++)

{

p=0;

for(j=0;j!=4;j++)

p+=b[j]*a[i][j];

x[i]=p;

}

for(j=0;j!=4;j++)

cout<<”x”<<j<<”=”<<x[j]<<”\n”;

}

else cout<<”The system has no solutions ”;

}

double minor_ij(int q=0,int w=0)

{

double t;

int s=q+w+2,k,l;

for(k=0;k!=4;k++)

{

if (k<q) for(l=0;l!=3;l++)

if (l>=w) m[k][l]=a[k][l+1];

else m[k][l]=a[k][l];

else if (k>q) for(l=0;l!=3;l++)

if (l>=w) m[k-1][l]=a[k][l+1];

else m[k-1][l]=a[k][l];

}

t=m[0][0]*m[1][1]*m[2][2]+m[0][1]*m[1][2]*m[2][0]+m[1][0]*m[2][1]*m[0][2];

t=t-m[2][0]*m[1][1]*m[0][2]-m[1][2]*m[2][1]*m[0][0]-m[0][1]*m[1][0]*m[2][2];

if (s%2!=0) t*=-1;

return t;}

6. БЛОК СХЕМА ВИКОНАННЯ АЛГОРИТМА ПРОГРАММИ

7. ПРИКЛАД РОБОТИ ПРОГРАММИ

ВИСНОВОК

Робота присвячена вирішенню чотирьох системи лінійних рівнянь, а саме написанню програми на мові програмування С++ для вирішення поставленої задачі.

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

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1. Боглаев Ю. П. Учебное пособие для студентов втузов / Боглаев Ю.П. - М.: Высшая школа, 1990. - 544

2. Калиткин Н. Н. Численные методы/ Калиткин Н.Н. - М.: Наука, 1978. - 512с.

3. Самарский А. А. Численные методы/ Самарский А. А., Гулин А. В. - М.: Наука, 1989, 432с.

4. Методические указания к выполнению лабораторных работ по вычислительной математике в среде Mathcad /Сост. Доц. к. ф.- м. н. И. В. Гомилко - Днепропетровск: ДНУ, 2010 (стр. 6-12)

Размещено на Allbest.ru


Подобные документы

  • Розв’язання систем лінійних рівнянь методом Жордана-Гауса. Еквівалентні перетворення системи, їх виконання як елемент методів розв’язування системи рівнянь. Базисні та вільні змінні. Лінійна та фундаментальна комбінації розв’язків, таблиці коефіцієнтів.

    контрольная работа [170,2 K], добавлен 16.05.2010

  • Сумісність лінійних алгебраїчних рівнянь. Найвищий порядок відмінних від нуля мінорів матриці. Детермінант квадратної матриці. Фундаментальна система розв’язків та загальний розв'язок системи лінійних однорідних рівнянь. Приклади розв’язання завдань.

    курсовая работа [86,0 K], добавлен 15.09.2008

  • Історія створення теорії алгебраїчних рівнянь. Сутність системи лінійних алгебраїчних рівнянь в лінійній алгебрі. Повна характеристика методів розв'язання рівнянь: точні, ітераційні та ймовірнісні. Особливості теорем Гауса-Жордана та Габріеля Крамера.

    реферат [543,7 K], добавлен 23.04.2015

  • Системи лінійних алгебраїчних рівнянь, головні означення. Коротка характеристика головних особливостей матричного способу, методу Жордано-Гаусса. Формули Крамера, теорема Кронекера-Капеллі. Практичний приклад розв’язання однорідної системи рівнянь.

    курсовая работа [690,9 K], добавлен 25.04.2013

  • Визначення системи лінійних рівнянь та її розв’язання. Поняття рангу матриці, правило Крамера та види перетворень з матрицею. Способи знайдення оберненої матриці А–1 до невиродженої матриці А. Контрольні запитання та приклади розв’язування задач.

    задача [73,5 K], добавлен 25.03.2011

  • Дослідження системи лінійних алгебраїчних рівнянь на стійкість. Одержання характеристичного многочлена методом Левур’є, в основу якого покладено обчислювання слідів степенів матриці А. Приклад перевірки на стійкість систему Аx=B за допомогою програми.

    курсовая работа [33,0 K], добавлен 29.08.2010

  • Чисельні методи розв’язання систем нелінійних рівнянь: лінійні і нелінійні рівняння, метод простих ітерацій, метод Ньютона. Практичне використання методів та особливості розв’язання систем нелінійних рівнянь у пакеті Mathcad, Excel та на мові С++.

    курсовая работа [2,0 M], добавлен 30.11.2010

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

    контрольная работа [115,2 K], добавлен 16.07.2010

  • Вивчення теорії наближених обчислень і чисельних методів лінійної алгебри. Опис прямих і ітераційних методів вирішення систем лінійних рівнянь, алгоритмізація і точність наближених обчислень функції. Чисельна інтеграція звичайних диференціальних рівнянь.

    лекция [103,6 K], добавлен 06.02.2014

  • Основні поняття чисельних методів розв’язання систем лінійних алгебраїчних рівнянь. Алгоритм Гаусса зведення системи до східчастого виду послідовним застосуванням елементарних перетворень. Зворотній хід методу Жордана-Гаусса. Метод оберненої матриці.

    курсовая работа [165,1 K], добавлен 18.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.