- •Основы работы в matlab. Векторы и матрицы.
- •Введение
- •Среда matlab
- •1.1. Основный окна Matlab и выполнение элементарных вычислений
- •1.2. Редактирование и отладка м-файлов
- •Переменные в matlab
- •3. Массивы в matlab
- •4. Задачи линейной алгебры (векторы и матрицы)
- •1. Функции операций над векторами:
- •Решение некоторых задач линейной алгебры
- •4. Решение некоторых задач алгебры матриц
- •5. Решение систем линейных уравнений
- •6. Собственные значения и собственные векторы
- •7. Норма и число обусловленности матрицы
- •8. Задания для самостоятельного решения
Решение некоторых задач линейной алгебры
4. Решение некоторых задач алгебры матриц
Напомним основные определения алгебры матриц. Если т*п выражений расставлены в прямоугольной таблице из т строк и п столбцов, то говорят о матрице размера т * п. Выражения аij, называют элементами матрицы. Элементы аij (i=1,…n), стоящие в таблице на линии, проходящей из левого верхнего в правый нижний угол квадрата п* п, образуют главную диагональ матрицы. Матрица размером т*п(т≠ п) называется прямоугольной. Если т=п, то матрицу называет квадратной порядка п. В частности, матрица типа 1 * п - это вектор-строка, а матрица размером т*1 является вектором-столбцом. Число (скаляр) можно рассматривать как матрицу типа1*1.
Квадратная матрица А = {aij} размером п * п называется:
■ нулевой, если все ее элементы равны нулю А = {аij = 0};
■ верхней треугольной, если все элементы, расположенные ниже главной диагонали, равны нулюА = {аij = 0, для всехi>j};
■ нижней треугольной, если все элементы, расположенные выше главной диагонали, равны нулюА = {аij =0, для всехi >j);
■ диагональной, если все элементы, кроме элементов главной диагонали, равны нулюА = {аij=0, для всехi≠j};
■ единичной, если элементы главной диагонали равны единице, а все остальные - нулюА = {aij= 0, для всехi≠j и aij=1 для всех i=j,
■ c квадратной матрицей связано понятие определителя, или детерминанта. Определителем матрицыА является числоdet A илиD, вычисляемое поправилу:
где сумма распределена на всевозможные перестановки (i1, i2,… in) элементов 1, 2, ... п и, следовательно, содержит п слагаемых, причем = 0, если перестановка четная, и= 1, если она нечетная. Квадратная матрица называетсяневырожденной, если ее определитель отличен от нуля. В противном случае она называетсявырожденной, илисингулярной.
С матрицами можно проводить операции сравнения, сложения и умножения. Две матрицы А = {аij} иВ ={bij.) считаютсяравными, если они одного типа, то есть имеют одинаковое число строк и столбцов и соответствующие элементы их равны {аij} = {bij}. Суммой двух матрицА = {аij} иВ = {bij} одинакового типа является матрицаС= {сij} того же типа, элементы которой равны сумме соответствующих элементов матрицА ={аij} иB={bij}, то есть {сij} = {аij+bij}. Разность матриц определяется аналогично. Произведением числана матрицуА = {аij} (или произведением матрицы на число) называется матрица, элементы которой получены умножением всех элементов матрицыА на число, то естьА = A = А{*аij}. Произведением матрицА = {аij) размерностью m*nиB= {bij} размерностьюр*s является матрица С размерностьют хs, каждый элемент которой можно представить формулой {сij} = {ai1b1j+ai2b2j+ ... +ainbin, i= 1,...m, j=1,..,s}. Таким образом, произведение матрицАВ имеет смысл только тогда, когда количество строк матрицыА совпадает с количеством столбцовВ. Кроме того, произведение двух матриц не подчиняется переместительному закону, то естьАВ≠ ВА. В тех случаях, когдаАВ =ВА, матрицыА и В называютсяперестановочными.
Если в матрице А = {аij} размерностьют*n «заменить строки соответствующими столбцами, то получитсятранспонированная матрицаАT =[аij]. В частности, для вектора-строки транспонированной матрицей является вектор-столбец.
Обратной матрицей по отношению к даннойА = {аij) размерностьюn*n, называется матрица А-1= {Аij} того же типа, которая, будучи умноженной как справа, так и слева на данную, в результате дает единичную матрицуЕ ={dij} :A*A-1=А-1*А=Е. Нахождение обратной матрицы для данной называетсяобращением данной матрицы. Всякая неособенная матрица имеет обратную.
Приведем определения некоторых специальных матриц. Квадратная матрица называется:
■ симметрической, еслиАТ = А;
■ кососимметрической, если АT= -А;
■ ортогональной, если | А| = det A ≠ 0 и АТ = А-1;
■ идемпотентной, если А2= А;
■ инволютивной, если А2=Е, гдеЕ - единичная матрица.
Перейдем к конкретным задачам.
Задача 1.
Для матриц А, В иС проверить выполнение следующих тождеств:
а) (А- В)С=А(В-С);
б) (АТ+В)С=АТ* С+В* С.
В листинге 69 видно, что матрицы, получившиеся в результате вычисления левой и правой частей первого тождества равны, следовательно, предположение а) истинно.
Листинг 69
>> А=[2 3 -2;1 2 5]
А =
2 3 -2
1 2 5
>> В=[2 -1;3 1;1 0]
В =
2 -1
3 1 1 0
>> С=[3 -2;1 4]
С =
3 -2
1 4
>> (А*В)*С
ans =
3 -18
40 -22
>> А*(В*С)
ans =
34 -18
40 -22
Листинг 69 содержит исследование второго тождества. Здесь из левой части равенства вычитаем правую и получаем нулевую матрицу, что также приводит к выводу об истинности предположения б).
Листинг 69.
>> (А'+В)*С-(А'*С+В*С)
ans =
0 0
0 0
0 0
Задача 2.
Проверить, является ли матрица симметрической.
По определению, для симметрической матрицы А должно выполняться равенствоА =AT. Решение, приведенное в листинге 70, показало, что в результате вычитания из матрицыА транспонированной матрицыAT получена нулевая матрица, то есть тождествоА = AT =>А- AT=0 выполнено и заданная матрица симметрическая.
Листинг 70.
>> А=[2 -1 3; -1 0 5; 3 5 -4] А =
2 -1 3
-1 0 5
3 5 -4
>> А-А'
ans =
0 0 0
0 0 0
0 0 0
Задача 3.
Проверить, является ли матрица кососимметрической.
Если матрица А кососимметрическая, то для нее должно выполняться свойство-А= АTилиАT+А = 0. Проверив это равенство для заданной матрицы (листинг 71), мы убеждаемся в его истинности.
Листинг 71
>> А=[0 -1 3;1 0 -5;-3 5 0]
А =
0 -1 3
1 0 -5
-3 5 0
>> А'+А
ans =
0 0 0
0 0 0
0 0 0
Задача 4.
Проверить, является ли матрица ортогональной.
По определению, ортогональная матрица А обладает следующими свойствами:
• определитель матрицы А отличен от нуляdet A ≠ 0;
• транспонированная матрица А равна обратной кА матрице, то естьАT= А-1.
Таким образом, для решения поставленной задачи необходимо вычислить определитель заданной матрицы, и убедиться в том, что он не равен нулю. Затем транспонировать исходную матрицу и найти обратную ей. Если визуально сложно убедиться в том, что транспонированная матрица равна обратной, можно вычислить их разность. В результате должна получиться нулевая матрица (листинг 72).
Листинг 72
>> А=[1/3 0 -2/3 -2/3/0 1 0 0;-2/3 0 1/3 -2/3/-2/3 0 -2/3 1/3]
А =
0.3333 0 -0.6667 -0.6667 0 1.0000 0 0
-0.6667 0 0.3333 -0.6667
-0.6667 0 -0.6667 0.3333
>> det(А)%Определитель матрицы А отличен от нуля
ans = -1
>> A'-inv(A)
>> %В результате вычитания из транспонированной матрицы А
>> %обратной ей матрицы получаем нулевую матрицу.
>> %Это значит что А – ортогональная.
ans =
1.0е-015 *
0 0 0.1110 0
0 0 0 0
0 0 -0.1110 0.1110
0 0 0 0
Задача 5.
Проверить, является ли матрица А идемпотентной. Показать, что матрицаВ = 2А - Е, гдеЕ - единичная матрица, инволютивна.
Для того чтобы выяснить, является ли матрица А идемпотентной, ее необходимо возвести в квадрат и сравнить с исходной, так как, по определению, для идемпотентной матрицы истинно тождествоА = А2. Определить, является ли матрицаВ инволютивной, можно, сравнив ее с единичной матрицей. Подробно решение задачи приведено в листинге 73.
Листинг 73
>> А=[6 -15;2 -5]
А =
6 -15
2 -5
>> %Матрица А идемпотентна, так как А=А2
>> А^2
ans =
6 -15
2 -5
>> %Формирование матрицы В по формуле, eye(2) - единичная матрица 2x2
>> В=2*А-еуе(2) В =
11 -30
4 -11
>> %Матрица В инволютивна, так как В2=еуе(2)
>> В^2-еуе(2)
ans =
0 0
0 0
Задача 6.
Решить матричные уравнения А*Х=ВиХ*А = В и выполнить проверку.
Матричное уравнение - это уравнение видаА * Х= В илиХ* А = В, гдеХ- это неизвестная матрица. Если умножить матричное уравнение на матрицу, обратную А, то оно примет вид: А-1АХ= А-1В или ХАА-1 = ВА-1. Так как А-1А = АA-1 = Е, аЕХ = ХЕ=X, то неизвестную матрицуX можно вычислить так:X=А-1В илиХ= ВА-1. Понятно, что матричное уравнение имеет единственное решение, еслиА иВ - квадратные матрицыn-го порядка и определитель матрицыА не равен нулю. Как решить матричное уравнение вMATLAB, показано в листинге 6.71.
Листинг 74.
>> А=[3 2;4 3]
А =
2
3
>> В=[-1 7;3 5]
В =
-1 7
3 5
>> %Решение матричного уравнения А*Х=В
>> %Первый способ >> Х=А\В
X =
-9 11
13 -13
>> %Второй способ
>> X=inv(A)*B
X =
-9 11
13 -13
>> %Проверка А*Х-В-0
>> А*Х-В
ans =
О О
>> %Решение матричного уравнения Х*А=В
>> %Первый способ
>> Х=В/А
X =
-31.0000 23.0000
-11.0000 9.0000
>> %Второй способ
>> x=B*inv(A)
Х =
-31 23
-11 9
>> %Проверка Х*А-В=0
>> Х*А-В
ans = 0 0
0 0