1.2. Матрица. Свойства и действия над матрицами
Определение. Матрицей (Мmn) называется таблица, состоящая из чисел
, где aij – элемент матрицы, i=1…m; j=1…n
m- определяет количество строк, n- количество столбцов. Размерность матрицы записывается как mxn.
Если m=n матрицу называют квадратной: если m≠n матрица называется прямоугольной. Если элементы квадратной матрицы удовлетворяют условию amn=anm, то матрица называется симметричной.
Две матрицы А=иB=считаютсяравными (А=В) тогда и только тогда, когда равны их соответственные элементы, т.е. когда (m,n=1,2,3).
Ранг матрицы — это наибольший порядок минора этой матрицы, не равный нулю.
Нулевой матрицей называется матрица, все элементы которой равны нулю:
Сумма нулевой матрицы и любой матрицы А дает матрицу А: А+0=А.
Матрица особенная, если её определитель равен нулю.
Матрица называется транспонированной к матрице А, если в матрице А взаимно переставлены местами строки и столбцы.
Единичной матрицей называется матрица
Если для матрицы А существует матрица В такая, что произведение А·В есть единичная матрица (А·В=Е), то В называется обратной матрицей и обозначается . Обратная матрица находится по формуле:, где
— алгебраическое дополнение элемента матрицы в ее определителе.
1.2.1. Свойства матриц
1. А·В В·А
2. A·0=0 (0-ноль матрица)
3. A·E=E·A=A
4. (A·B) ·C=A·(B·C)
5. (A+B) ·C=AC+BC, C· (A+B) =CA+CB
6. Если C=AB, то , (|A|,|В|,|C|-определители)
1.2.2. Действия над матрицами
Суммой
двух матриц А и В называется матрица, определяемая равенствомПроизведением числа m на матрицу A называется матрица, определяемая равенством.
Произведением двух матриц А и В называется матрица, определяемая равенством
ПРИМЕР 2. Найти сумму матриц
ПРИМЕР 3. Найти 2А+5В, если
ПРИМЕР4. Найти произведение матриц, если
Число столбцов матрицы А должно совпадать с числом строк матрицы В.
ПРИМЕР5. Дана матрица .Найти обратную матрицу.
Вычислим определитель матрицы А:
2. Находим алгебраические дополнения элементов этого определителя:
,
т.к. , то
ПРИМЕР 6. Найти
, ,
1.3. Решение системы линейных уравнений
Дана система m линейных уравнений с n неизвестными
Решением этой системы называется совокупность n чисел которые будучи подставлены вместо неизвестных в уравнения, обращают эти уравнения в тождества. Система уравнений называетсясовместной,
если она имеет хотя бы одно решение
Если же система не имеет ни одного решения, то она называется несовместной.
Совместная система называется определенной, если она имеет только одно решение, и неопределенной, если она имеет больше одного решения.
Для нахождения решения системы линейных уравнений используют:
1.Метод Крамера; 2. Метод Гаусса; 3. Матричный метод. Рассмотрим каждый из этих методов.
1.3.1 Метод Крамера
Пусть мы имеем систему линейных уравнений с тремя неизвестными
Вычислим определитель этой системы
1. Если определитель этой системы то система имеет единственное решение, которое находится по формулам Крамера3 , ,, где
дополнительные определители
2.Если илиилисистема решения не имеет.
ПРИМЕР 1. Решить систему уравнений
Т.к. определитель система имеет единственное решение.
333
Пакет аналитических вычислений Maple, страница 4
Информатика и выч. техника \ Матричный анализ
Определение 2.5. Пусть A = [ аij]и B = [ bij]матрицы типов соответственно mnи pq. Если число столбцов матрицы A равно числу строк матрицы B, т. е. п = р, то для этих матриц определена матрица C типа mq называемая их произведением, при этом cij = аi1b1j+ аi2b2j + … + ainbnj , (; ).
Из определения вытекает следующее правило умножения матриц:
Чтобы получить элемент, стоящий в i-й строке и j-м столбце произведения двух матриц, нужно элементы i-й строки первой матрицы умножить на соответствующие элементы j-го столбца второй и полученные произведения сложить.
Мнемоническое правило:Cтрока на столбец.
Пример 2.5. Найти произведение матриц A и B, где
A= , B=
Произведение AB имеет смысл тогда и только тогда, когда матрица A содержит в строках столько элементов, сколько элементов имеется в столбцах матрицы B. В частности, можно перемножать квадратные матрицы лишь одинакового порядка.
Произведение
двух матриц не обладает переместительным свойством, т. е., вообще говоря,
Более того, может даже случиться, что произведение двух матриц, взятых в одном порядке, будет иметь смысл, а произведение тех же матриц, взятых в противоположном порядке, смысла иметь не будет.
В тех частных случаях, когда AB = BA, матрицы A и B называются перестановочными (коммутативными). Так, например, как нетрудно убедиться, единичная матрица Е перестановочна с любой квадратной матрицей A того же порядка, причем AЕ = ЕA = A. Таким образом, единичная матрица Е играет роль единицы при умножении.
2.3 Определитель матрицы. Обратная матрица
Определение 2.6. Определителемили детерминантом квадратной матрицы A = [ аij ] называется число det A или |A|, которое может быть вычислено по элементам матрицы с помощью следующей рекурсии:
Если n = 1, то det A = a11;
Если n = 1, то det A = , где .
Мik – детерминант матрицы, полученной из исходной вычеркиванием первой строки и k – го столбца.
Следует обратить внимание на то, что определители имеют только квадратные матрицы, т. е. матрицы, у которых число строк равно числу столбцов.
Пример 2.6. Найти определитель для матрицы A, где A =
Определение 2.7. Минором элемента aij матрицы называется определитель матрицы, полученной из данной в результате вычеркивания i-й строки и j-гo столбца.
Определение 2.8. Рангом матрицы
Пример 2.7. Найти ранг для матрицы A, где A=
Определение 2.9. Обратной матрицей по отношению к данной называется матрица, которая, будучи умноженной как справа, так и слева на данную матрицу, дает единичную матрицу.
Для матрицы A обозначим обратную ей матрицу через A-1. Тогда по определению имеем: AA-1 = A-1A = Е, где Е— единичная матрица.
Нахождение обратной матрицы для данной называется обращением данной матрицы.
Пример 2.8. Найти обратную матрицу A-1 , где A =
Блочные матрицы и их алгебра
Часто приходится пользоваться матрицами, разбитыми на прямоугольные части – «клетки» или «блоки».
Пусть дана прямоугольная матрица
При помощи горизонтальных и вертикальных линий рассечем матрицу A на прямоугольные блоки:
Про эту матрицу будем говорить, что она разбита на stблоков Aαβразмером mαnβ(;) или что она представлена в виде блочной матрицы.
Сокращённая запись: A= [ Aαβ] (;).
Действия над блочными матрицами производятся по тем же формальным правилам, как и в случае, когда вместо блоков имеем числовые элементы.
Известно, что при умножении двух прямоугольных матриц A
,
Тогда легко проверить, что
AB = C = [ Cαβ ], где
Заметим, что умножение квадратных блочных матриц одного и того же порядка всегда выполнимо, когда сомножители разбиты на одинаковые квадратные схемы блоков и в каждом из сомножителей на диагональных местах стоят квадратные матрицы.
Формула Фробениуса. Пусть неособенная квадратная матрица М (|M| ≠ 0) разбита на блоки
,
и пусть также A – неособенная квадратная матрица (|A| ≠ 0) . Тогда матрица М-1 находится по формуле:
, где .
Формула Фробениуса сводит обращение матрицы порядка n+ q к обращению двух матриц порядка nи q и к операциям сложения и умножения матриц с размерами nn, qq, nq, qn.
Пример 3.1. Найти обратную матрицу M-1 по формуле Фробениуса, где
M =
Ввод осуществляется посредством задания 4 блоков, на которые разбивается исходная матрица M
Далее вычисляем матрицу H и каждый блок матрицы M-1:
Далее формируем искомую матрицу M-1:
Функция blockmatrixсодержится в пакете linalg, поэтому для ее использования записывают выражение linalg[blockmatrix], что не подключает весь пакет, а дает возможность использовать только одну функцию. Эта функция позволяет составить матрицу из блоков размера nn и qq.
Декомпозицию блоков можно сделать используя функцию SubMatrix, которая выделяет из матрицы заданный блок.
Пример 3.2. Разбить матрицу A на 4 блока, где A =
Собрать обратно блоки можно многими способами. Приведем два из них:
Пример 3.3. Составить матрицу из 4 блоков A1, A2, A3, A4,
где A1= , A2= , A3= , A4= .
Скачать файл
Выбери свой ВУЗ
- АлтГТУ 419
- АлтГУ 113
- АмПГУ 296
- АГТУ 267
- БИТТУ 794
- БГТУ «Военмех» 1191
- БГМУ 172
- БГТУ 603
- БГУ 155
- БГУИР 391
- БелГУТ 4908
- БГЭУ 963
- БНТУ 1070
- БТЭУ ПК 689
- БрГУ 179
- ВНТУ 120
- ВГУЭС 426
- ВлГУ 645
- ВМедА 611
- ВолгГТУ 235
- ВНУ им. Даля 166
- ВЗФЭИ 245
- ВятГСХА 101
- ВятГГУ 139
- ВятГУ 559
- ГГДСК 171
- ГомГМК 501
- ГГМУ 1966
- ГГТУ им. Сухого 4467
- ГГУ им. Скорины 1590
- ГМА им. Макарова 299
- ДГПУ 159
- ДальГАУ 279
- ДВГГУ 134
- ДВГМУ 408
- ДВГТУ 936
- ДВГУПС 305
- ДВФУ 949
- ДонГТУ 498
- ДИТМ МНТУ 109
- ИвГМА 488
- ИГХТУ 131
- ИжГТУ 145
- КемГППК 171
- КемГУ 508
- КГМТУ 270
- КировАТ 147
- КГКСЭП 407
- КГТА им. Дегтярева 174
- КнАГТУ 2910
- КрасГАУ 345
- КрасГМУ 629
- КГПУ им. Астафьева 133
- КГТУ (СФУ) 567
- КГТЭИ (СФУ) 112
- КПК №2 177
- КубГТУ 138
- КубГУ 109
- КузГПА 182
- КузГТУ 789
- МГТУ им. Носова 369
- МГЭУ им. Сахарова 232
- МГЭК 249
- МГПУ 165
- МАИ 144
- МАДИ 151
- МГИУ 1179
- МГОУ 121
- МГСУ 331
- МГУ 273
- МГУКИ 101
- МГУПИ 225
- МГУПС (МИИТ) 637
- МГУТУ 122
- МТУСИ 179
- ХАИ 656
- ТПУ 455
- НИУ МЭИ 640
- НМСУ «Горный» 1701
- ХПИ 1534
- НТУУ «КПИ» 213
- НУК им. Макарова 543
- НВ 1001
- НГАВТ 362
- НГАУ 411
- НГАСУ 817
- НГМУ 665
- НГПУ 214
- НГТУ 4610
- НГУ 1993
- НГУЭУ 499
- НИИ 201
- ОмГТУ 302
- ОмГУПС 230
- СПбПК №4 115
- ПГУПС 2489
- ПГПУ им. Короленко 296
- ПНТУ им. Кондратюка 120
- РАНХиГС 190
- РОАТ МИИТ 608
- РТА 245
- РГГМУ 117
- РГПУ им. Герцена 123
- РГППУ 142
- РГСУ 162
- «МАТИ» — РГТУ 121
- РГУНиГ 260
- РЭУ им. Плеханова 123
- РГАТУ им. Соловьёва 219
- РязГМУ 125
- РГРТУ 666
- СамГТУ 131
- СПбГАСУ 315
- ИНЖЭКОН 328
- СПбГИПСР 136
- СПбГЛТУ им. Кирова 227
- СПбГМТУ 143
- СПбГПМУ 146
- СПбГПУ 1599
- СПбГТИ (ТУ) 293
- СПбГТУРП 236
- СПбГУ 578
- ГУАП 524
- СПбГУНиПТ 291
- СПбГУПТД 438
- СПбГУСЭ 226
- СПбГУТ 194
- СПГУТД 151
- СПбГУЭФ 145
- СПбГЭТУ «ЛЭТИ» 379
- ПИМаш 247
- НИУ ИТМО 531
- СГТУ им. Гагарина 114
- СахГУ 278
- СЗТУ 484
- СибАГС 249
- СибГАУ 462
- СибГИУ 1654
- СибГТУ 946
- СГУПС 1473
- СибГУТИ 2083
- СибУПК 377
- СФУ 2424
- СНАУ 567
- СумГУ 768
- ТРТУ 149
- ТОГУ 551
- ТГЭУ 325
- ТГУ (Томск) 276
- ТГПУ 181
- ТулГУ 553
- УкрГАЖТ 234
- УлГТУ 536
- УИПКПРО 123
- УрГПУ 195
- УГТУ-УПИ 758
- УГНТУ 570
- УГТУ 134
- ХГАЭП 138
- ХГАФК 110
- ХНАГХ 407
- ХНУВД 512
- ХНУ им. Каразина 305
- ХНУРЭ 325
- ХНЭУ 495
- ЦПУ 157
- ЧитГУ 220
- ЮУрГУ 309
r — Выбрать строки матрицы, удовлетворяющие условию
спросил
Изменено 3 года, 6 месяцев назад
Просмотрено 518 тысяч раз
В R с матрицей:
один два три четыре [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 11 18 [4,] 4 911 19 [5,] 5 10 15 20
Я хочу извлечь подматрицу, строки которой имеют столбец три = 11. То есть:
один два три четыре [1,] 1 6 11 16 [3,] 3 8 11 18 [4,] 4 9 11 19
Я хочу сделать это без зацикливания. Я новичок в R, так что это, вероятно, очень очевидно, но документация часто несколько кратка.
- r
- выбор
- матрица
- подматрица
1
Это проще сделать, если преобразовать матрицу во фрейм данных с помощью as.data.frame(). В этом случае предыдущие ответы (с использованием подмножества или m$three) будут работать, иначе — нет.
Чтобы выполнить операцию над матрицей , вы можете определить столбец по имени:
m[m[ "три"] == 11,]
Или по номеру:
m[m[3] == 11,]
Обратите внимание: если совпадает только одна строка, результатом будет целочисленный вектор, а не матрица.
4
Я выберу простой подход с использованием пакета dplyr.
Если кадр данных является данными.
библиотека (dplyr) результат <- фильтр (данные, три == 11)
m <- матрица (1:20, ncol = 4) colnames(m) <- Letters[1:4]
Следующая команда выберет первую строку матрицы выше.
подмножество (m, m[4] == 16)
И это выберет последние три.
подмножество (m, m[4] > 17)
В обоих случаях результатом будет матрица. Если вы хотите использовать имена столбцов для выбора столбцов, вам лучше всего преобразовать их в фрейм данных с
мф <- data.frame(м)
Затем вы можете выбрать с помощью
mf[ mf$a == 16, ]
Или вы можете использовать команду подмножества.
Subset — очень медленная функция, и лично я считаю ее бесполезной.
Я предполагаю, что у вас есть data.frame, массив, матрица с именем Mat
с A
, B
, C
в качестве имен столбцов; тогда все, что вам нужно сделать, это:
В случае одного условия в одном столбце, скажем, в столбце A
Mat[который(Mat['A'] == 10), ]
В случае нескольких условий в разных столбцах можно создать фиктивную переменную. Предположим, что условия A = 10
, B = 5
и C > 2
, тогда мы имеем:
aux = which(Mat['A'] == 10) aux = aux[который(Mat[aux,'B'] == 5)] aux = aux[который(Mat[aux,'C'] > 2)] Мат [aux, ]
Проверив преимущество в скорости с помощью system. time
, который 9Метод 0078 в 10 раз быстрее, чем метод
подмножества .
Если ваша матрица называется m
, просто используйте:
R> m[m$three == 11, ]
1
Если набор данных называется данными, то все строки, удовлетворяющие условию, при котором значение столбца 'pm2.5' > 300 могут быть получены с помощью -
data[data['pm2.5'] >300,]
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
92 \end{pmatrix}$$Я застрял здесь после попытки решить 4 уравнения.