Алгебра матриц (RStudio)

Федеральное государственное образовательное бюджетное учреждение

Высшего образования

«ФИНАН

«ФИНАНСОВЫЙ УНИВЕРСИТЕТ ПРИ ПРАВИТЕЛЬСТВЕ

РОССИЙСКОЙ ФЕДЕРАЦИИ»

Департамент анализа данных, принятия решений и финансовых технологий

 

С.А.Зададаев

 

 

Алгебра матриц (RStudio)

Учебно-методические рекомендации для проведения

семинара №28 по компьютерному практикуму

C ИНДИВИДУАЛЬНЫМИ ЗАДАНИЯМИ СТУДЕНТАМ

Для бакалавров направления 38.03.01 «Экономика»

 

 

Электронное издание

 

 

Москва 2018


Алгебра матриц (RStudio)

    В данном разделе мы будем рассматривать следующие темы алгебры матриц в R: линейные операции над матрицами (сложение матриц и умножение их на числа), умножение матриц и их транспонирование, вычисление определителей, определение ранга матриц и их размерности, нахождение обратных матриц, произвольные покоординатные вычисления.

Объявим в R три матрицы:

и ,

вспомнив при этом основные конструкции и способы их задания:

#  Заполнить матрицу 3x3 числами от 1 до 9 по строкам:

A <- matrix(1:9, nrow=3, ncol=3, byrow = TRUE)

A                       # Вывести на экран матрицу A

E <-  diag(3)  # Записать в переменную E единичную матрицу размера 3x3

E                        # Вывести на экран матрицу E

# Построить матрицу из двух столбцов: первый – повторы числа 2 три раза, второй – вектор с координатами (-3,0,1):

B  <-  cbind(rep(2, 3), c(-3, 0, 1))

B                     # Вывести на экран матрицу B

 

Выделим набранный скрипт и запустим компилятор R, указав мышью на клавишу Run или нажав Ctrl + Enter. В результате получим на экране консоли объявленные матрицы (см. рис.1).

 

рис.1

 

Убедитесь, что матрицы введены корректно.

Добавим к введенным матрицам A, E и B еще одну матрицу S:

.

Где W* - номер студента по журналу

Такую матрицу, как указывалось ранее, проще всего ввести в таблице Excel, затем скопировать ее в буфер обмена и запустить следующий код в R:

# Чтение из буфера обмена excel-формата:

Data <- read.table("clipboard", h=FALSE, dec=",", sep = "\t")   

S <- data.matrix(Data)                # Объявить таблицу чисел Data матрицей S в R

S                                                      # Вывести на экран матрицу S

 

Результат представлен на рис.2.:

 

Рис.2.

 

Можно заметить, что столбцы матрицы оказались проименованными, т.к. из буфера обмена данные были считаны в формате data.frame, что приводит к обязательному различию в названиях столбцов, пусть даже и формальному V1,V2,...

При этом обращение к отдельным элементам матриц, включая столбцы и строки, выглядит знакомым образом:

A[1, 2]        # Элемент a12 матрицы A (первая строка, второй столбец)

B[2, ]          # Вторая строка матрицы B

S[, 4]         # Четвертый столбец матрицы S (хотя и будет выведен на экран как строка!)

S[, c(4,5)]   # Матрица, содержащая лишь 4-ый и 5-ый столбцы матрицы S

S[, -c(4,5)] # Матрица S, из которой удалены столбцы с номерами 4 и 5

 

Все приводимые далее примеры относятся к введенным матрицам A, B, Е и S.

 

 

Размерность матрицы

Задание 1. Для матрицы A вывести ее размерность

Решение. Составим следующий код определения размерности матриц:

n <- nrow(A)    # Количество строк матрицы A, записанное в переменную n

m <- ncol(A)     # Количество столбцов матрицы A, записанное в переменную m

n; m                  # Вывести на экран размерность матрицы A (n x m)

paste("dim(A) =", n, "х", m) # Склейка: красиво вывести на экран размерность матрицы A

Обратите внимание на оператор paste, выводящий на экран консоли текстовую строку, состоящую из четырех склеенных кусков "dim(A) =", n, "х" и  m.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: