Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet89/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   85   86   87   88   89   90   91   92   ...   193
Bog'liq
Book-qtC


Глава 6. Статические и динамические матрицы
i f ( r e s u l t ==0)
{ //Вывод массива решения.
cout<<" M a s s i v X "<f o r ( i =0; i cout<cout<}
e l s e i f ( r e s u l t ==
−1)
cout<<"Бесконечное множество решений\ n " ;
e l s e i f ( r e s u l t ==
−2)
cout<<"Нет решений\ n " ;
}
Задача 6.11.
Найти обратную матрицу к квадратной матрице A(N, N).
Один из методов вычисления обратной матрицы основан на решении систем
линейных алгебраических уравнений. Пусть задана некоторая матрица A:
A =




a
00
a
01
a
02
...
a
0n−1
a
10
a
11
a
12
...
a
1n−1
...
...
...
...
...
a
n−10
a
n−11
a
n−12
...
a
n−1n−1




(6.5)
Необходимо найти матрицу A
−1
, которая является обратной к матрице A:
Y = A
−1
=




y
00
y
01
y
02
...
y
0n−1
y
10
y
11
y
12
...
y
1n−1
...
...
...
...
...
y
n−10
y
n−11
y
n−12
...
y
n−1n−1




(6.6)
Матрица (6.6) будет обратной к матрице (6.5), если выполняется соотношение
A · A
−1
= E, где E — это единичная матрица, или более подробно:




a
00
a
01
...
a
0n−1
a
10
a
11
...
a
1n−1
...
...
...
...
a
n−10
a
n−11
...
a
n−1n−1








y
00
y
01
...
y
0n−1
y
10
y
11
...
y
1n−1
...
...
...
...
y
n−10
y
n−11
...
y
n−1n−1




= E
(6.7)
Результат перемножения матриц из соотношения (6.7) можно представить по-
элементно в виде n систем линейных уравнений. Умножение матрицы (6.5) на
нулевой столбец матрицы (6.6) даст нулевой столбец единичной матрицы:















a
00
y
00
+ a
01
y
10
+ ... + a
0n−1
y
n−10
= 1,
a
10
y
00
+ a
11
y
10
+ ... + a
1n−1
y
n−10
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
i0
y
00
+ a
i1
y
10
+ ... + a
in−1
y
n−10
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n−10
y
00
+ a
n−11
y
10
+ ... + a
n−1n−1
y
n−10
= 0
.
При умножении матрицы A на первый столбец обратной матрицы получается
следующая система линейных алгебраических уравнений.
Программирование на языке С++ в среде Qt Creator


6.4. Решение некоторых задач линейной алгебры
209















a
00
y
01
+ a
01
y
11
+ ... + a
0n−1
y
n−11
= 0,
a
10
y
01
+ a
11
y
11
+ ... + a
1n−1
y
n−11
= 1,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
i0
y
01
+ a
i1
y
11
+ ... + a
in−1
y
n−11
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n−10
y
01
+ a
n−11
y
11
+ ... + a
n−1n−1
y
n−11
= 0
Система, полученная в результате умножения матрицы (6.5) на i-й столбец мат-
рицы (6.6), будет выглядеть следующим образом:















a
00
y
0i
+ a
01
y
1i
+ ... + a
0n−1
y
n−1i
= 0,
a
10
y
0i
+ a
11
y
1i
+ ... + a
1n−1
y
n−1i
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
i0
y
0i
+ a
i1
y
1i
+ ... + a
in−1
y
n−1i
= 1,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n−10
y
0i
+ a
n−11
y
1i
+ ... + a
n−1n−1
y
n−1i
= 0
Понятно, что n-я система будет иметь вид:















a
00
y
0n−1
+ a
01
y
1n−1
+ ... + a
0n−1
y
n−1n−1
= 0,
a
10
y
0n−1
+ a
11
y
1n−1
+ ... + a
1n−1
y
n−1n−1
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
i0
y
0n−1
+ a
i1
y
1n−1
+ ... + a
in−1
y
n−1n−1
= 0,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n−10
y
0n−1
+ a
n−11
y
1n−1
+ ... + a
n−1n−1
y
n−1n−1
= 1
.
Решением каждой из приведённых выше систем будет i-й столбец обратной
матрицы. Количество систем равно размерности обратной матрицы. Для отыс-
кания решений систем линейных алгебраических уравнений можно воспользо-
ваться методом Гаусса.
Описанный алгоритм представлен в виде блок-схемы на рис. 6.15. Блоки 2–5
отражают формирование вектора правых частей системы линейных алгебраи-
ческих уравнений. Если условие в блоке 3 выполняется и элемент находится на
главной диагонали, то он равен единице, все остальные элементы нулевые. В
блоке 6 происходит вызов подпрограммы для решения системы уравнений ме-
тодом Гаусса. В качестве параметров в эту подпрограмму передаётся исходная
матрица A, сформированный в блоках 2–5 вектор свободных коэффициентов B,
размерность системы n. Вектор X будет решением i-й системы уравнений и,
следовательно, i-м столбцом искомой матрицы Y .
Как видно из блок-схемы, приведённой на рис. 6.15, при нахождении обратной
матрицы понадобится функция SLAU, рассмотренная при решении задачи 6.10.
Ниже приведён текст программы с подробными комментариями решения зада-
чи 6.11. В функции main() будет находиться ввод исходной матрицы, обращение
к функции INVERSE для вычисления обратной матрицы. Из функции INVERSE
будет осуществляться вызов функции SLAU для решения системы линейных ал-
гебраических уравнений.
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


210
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   85   86   87   88   89   90   91   92   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish