Сложение, вычитание, умножение и деление матриц — ответы MATLAB
Сложение матриц — одна из основных операций, выполняемых над матрицами. Две или более матриц одного порядка могут быть добавлены путем добавления соответствующих элементов матриц. Если A = [aijaij] и B = [bijbij] — две матрицы одинаковой размерности, то есть они имеют одинаковое количество строк и столбцов, то сложение матриц A и B равно: A+B = [aijaij] + [bijbij] = [aij+bijaij+bij].
Матрицы для сложения могут быть как квадратными, так и прямоугольными, но матрицы должны быть одного порядка.
Сложение матриц подчиняется аналогичным свойствам сложения чисел: коммутативному закону, ассоциативному закону, аддитивному обратному, аддитивному тождеству и т. д. Следующие свойства помогают в операциях сложения матриц.
- Коммутативное свойство сложения матриц для матриц A = [aijaij] и B = [bijbij] одного порядка m × n равно A + B = B + A.
- Ассоциативное свойство сложения матриц для матриц A = [aijaij], B = [bijbij] и C = [cijcij] одного и того же порядка m × n равно (A+B)+C = A+(B+C).
- Аддитивное тождество сложения матриц для матрицы A = [aijaij] порядка m × n — нулевая матрица O порядка m × n такая, что A + O = O + A = A.
- Аддитивное сложение, обратное сложению матриц для матрицы A = [aijaij] порядка m × n есть -A = [−aij−aij] того же порядка m × n такое, что A + (-A) = O = A + (-A).
- Транспонировать Свойство сложения матриц для двух матриц A = [aijaij] и B = [bijbij] одного порядка: (A + B)T = AT + BT
- Определяющее свойство сложения матриц для двух матриц A = [aijaij] и B = [bijbij] того же порядка, |A + B| = |А| + |Б|
Вычитание — Операции с матрицами
Вычитание матриц — это матричная операция поэлементного вычитания матриц одного порядка, то есть матриц, имеющих одинаковое количество строк и столбцов. При вычитании двух матриц мы вычитаем элементы в каждой строке и столбце из соответствующих элементов в строке и столбце другой матрицы.
Рассмотрим две матрицы A и B одного и того же порядка m × n, где m — количество строк, а n — количество столбцов двух матриц, обозначенных как A = [aijaij] и B = [bijbij ]. Теперь разность двух матриц A и B определяется как: A — B = [aijaij] — [bijbij] = [aij-bijaij-bij], где ij обозначает положение каждого элемента в i-й строке и j-м столбце. Размерность разностной матрицы, то есть A — B, также равна m × n’.
Самая важная необходимость для вычитания матриц для сохранения всех этих свойств заключается в том, что вычитание матриц определяется только в том случае, если порядок матриц одинаков.
- Количество строк и столбцов в соответствующих матрицах должно быть одинаковым для вычитания матриц.
- Вычитание матриц некоммутативно, т. е. А — В ≠ В — А
- Вычитание матриц не ассоциативно, т. е. (А — В) — С ≠ А — (В — С)
- Вычитание матрицы из самой себя приводит к нулевой матрице, то есть A — A = O.
- Вычитание матриц — это добавление отрицательного значения матрицы к другой матрице, то есть A — B = A + (-B ).
Умножение — Операции с матрицами
Умножение матриц — это бинарная матричная операция, выполняемая над матрицами A и B, когда обе заданные матрицы совместимы. Основным условием умножения двух матриц является то, что количество столбцов в первой матрице должно быть равно количеству строк во второй матрице, и, следовательно, важен порядок матрицы. Умножение матриц не подчиняется коммутативному закону AB ≠ BA.
Две матрицы A и B называются совместимыми, если количество столбцов в A равно количеству строк в B. Результирующая матрица для умножения матрицы A порядка m × n на матрицу B порядка n × p — матрица C порядка m × p.
Для умножения двух матриц элементы строк матрицы умножаются на элементы столбцов следующей матрицы, и суммирование этого произведения дает элементы результирующей матрицы произведения. Это можно более ясно понять из приведенного ниже умножения двух матриц порядка 3 x 3.
Следующие свойства умножения матриц полезны для выполнения операции умножения матриц.
- Некоммутативный для умножения матриц: Умножение матриц является некоммутативным, и произведение AB не равно произведению BA, AB ≠ BA.
- Правильное распределение над сложением матриц для Матричное умножение матрицы A и матрицы B на другую матрицу C равно A(B + C) = AB + BC.
- Умножение матриц на скаляр k для матриц A и B определяется как k(AB) = (kA)B = A(Bk).
- Свойство транспонирования матричного умножения для двух матриц A и B может быть задано как (AB)T = BTAT
- Комплексно-сопряженное свойство матричного умножения для двух матриц A и B: (AB)* = B*A*
- Ассоциативность матричного умножения для трех матриц A, B и C, так что произведения (AB)C и A(BC) определяются как (AB)C = A(BC).
Скалярное умножение матрицы является произведением скалярного значения константы на каждый из элементов матрицы. Следующие свойства скалярного умножения матриц помогают легко выполнять скалярное умножение матриц. Здесь у нас есть две матрицы A, B и k, l — значения скалярных констант.
- K(A + B) = KA + KB
- (K + l)A = KA + lA
- (Kl)A = K(lA) = l(KA)
Операция транспонирования матрицы
Матрица, полученная из данной матрицы после замены или обращения ее строк в столбцы и столбцов в строки, называется транспонированием матрицы. Прямоугольный массив чисел или функций, расположенных в виде строк и столбцов, называется матрицей. Этот массив чисел называется элементами или элементами матрицы. После нахождения транспонирования матрицы порядок матрицы изменяется с порядка m × n на порядок n × m.
Здесь для матрицы A элементы первой строки записаны в первый столбец новой матрицы, а элементы второй строки записаны во второй столбец новой матрицы. И эта новая матрица обозначается как AT, что является транспонированием данной матрицы A.
Порядок матрицы представляет количество строк и столбцов в данной матрице. Все горизонтальные линии элементов называются строками матрицы, обозначаемой буквой n, а вертикальные линии элементов называются столбцами матрицы, обозначаемой буквой m. Вместе они представляют порядок матрицы, которая записывается как n × m. А порядок транспонирования данной матрицы записывается как m x n.
В приведенном выше примере видно, что задана матрица порядка 2 × 3. Элементы первой строки [-2, 5, 6] записаны в первом столбце, а элементы второй строки [5 , 2, 7] записываются во второй столбец для получения матрицы транспонирования. Транспонирование матрицы A равно AT и имеет порядок 3 x 2,9.0003
Существуют различные свойства, связанные с операцией перестановки в матрицах, для матриц A и B, заданные как
- (AT)T = A
- (A + B)T = AT + BT, A и B тот же порядок.
- (KA)T= KAT, K — любой скаляр (действительный или комплексный).
- (AB)T= BTAT, A и B соответствуют продукту AB. (Это также называется законом обращения.)
Обратная операция над матрицей
Обратная операция над матрицей — это другая матричная операция, которая при умножении на данную матрицу дает мультипликативное тождество. Для матрицы A обратная ей равна A-1, а A.A-1 = I. Общая формула обратной матрицы порядка 2 × 2 равна сопряженной матрице, деленной на определитель матрицы. Обратная матрица существует только в том случае, если определитель матрицы имеет ненулевое значение. Матрица, определитель которой отличен от нуля и для которой можно вычислить обратную матрицу, называется обратимой матрицей.
A = (abcd)(abcd)
A-1 = 1ad-bc(d-b-ca)1ad-bc(d-b-ca)
A-1 = 1|A|1|A| Adj A
Кроме того, для матриц более высокого порядка обратная матрица может быть вычислена путем деления сопряженной матрицы на определитель матрицы. Обратную матрицу можно вычислить, выполнив следующие шаги:
- Шаг 1: Вычислите минор для данной матрицы.
- Шаг 2: Преобразование полученной матрицы в матрицу кофакторов
- Шаг 3: Затем найдите сопряженную матрицу.
- Шаг 4: Разделите сопряженную матрицу на определитель матрицы.
tidy — Умножение некоторых значений столбца R
спросил
Изменено 1 год, 5 месяцев назад
Просмотрено 130 раз
У меня есть столбец в наборе данных, который выглядит так:
- Фактический
- чр
- 5,25%
- -5,50*1000000000
- 0,24%
- -4,00*1000
- 4,5%
Моя цель — получить к нему доступ и автоматически преобразовать ячейки с * 1000 или * 1000000000 и выполнить расчет, например -5,5 * 1000000000 должно быть — 5 500 000 000 на ячейке и -4 * 1000 должно быть -4000.
Кто-нибудь подскажет, как это сделать?
С уважением
0
Это можно сделать, используя сначала операцию разбиения на *
, а затем операцию сопоставления на основе муррр
функция map_dbl
для выполнения вычислений:
библиотека (муррр) библиотека (dplyr) дф %>% # Шаг 1: разделите строки на `*`: мутировать (x_new = strsplit (x, "\\*")) %>% # Шаг 2: преобразовать в числовой и выполнить расчет: мутировать (x_new = ifelse (str_detect (x_new, ",")), map_dbl(x_new, функция(x) as.numeric(x)[1] * as.numeric(x)[2]), х_новый)) х х_новый 1 -5,50*1000000000 -5,5е+092 35% 35% 3 -4.00*1000 -4000
(предупреждающие сообщения можно игнорировать)
Тестовые данные:
df <- data.frame(x = c("-5.50*1000000000", "35%", "-4.00*1000"))
6
Если ваша строка гарантированно является допустимым выражением, которое R может вычислить буквально, вы можете использовать
eval(parse(text = '-5*1000'))
Это анализирует строку в эквиваленте кода R, а затем выполняет ее с помощью eval.