R语言 如何创建单位矩阵
在这篇文章中,我们将讨论如何在R编程语言中创建一个单位矩阵。
单位矩阵是包含所有零的矩阵,除了对角线元素等同于1。Base R提供了大量的方法来创建和定义R中的单位矩阵。
方法1:使用diag方法
R基中的diag()方法用于创建一个具有指定尺寸的方形矩阵。它将对角线的值指定为1,其余所有元素的值都是0。
语法:
diag(num)
其中,num – 相当于矩阵的行数和列数的数字。
例子:
# creating a diagonal matrix with
# dimensions 3 x 3
diag_mat < - diag(3)
# printing identity matrix
print("Identity Matrix")
print(diag_mat)
输出 。
[1] "Identity Matrix"
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
方法2:使用diag(nrow)方法
diag(nrow)方法可以用来指定单位矩阵的行数。它所分配的列数与指定的行数相当。
语法:
diag(nrow = )
其中, **** nrow – 单位矩阵的行数。
例子:
# creating a diagonal matrix with
# dimensions 7 x 7
diag_mat < -diag(nrow=7)
# printing identity matrix
print("Identity Matrix")
print(diag_mat)
输出 。
[1] "Identity Matrix"
> print(diag_mat)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 0 0 0 0 0 0
[2,] 0 1 0 0 0 0 0
[3,] 0 0 1 0 0 0 0
[4,] 0 0 0 1 0 0 0
[5,] 0 0 0 0 1 0 0
[6,] 0 0 0 0 0 1 0
[7,] 0 0 0 0 0 0 1
方法3:创建一个零的矩阵,然后将对角线赋值为1
R中的matrix()方法可以用来创建一个具有指定值的矩阵,并将其分配给矩阵的声明行数和列数。
语法:
matrix ( val , rows, cols)
参数:
- val – 要分配给所有单元格的值
- rows – 单位矩阵的行数
- cols – 单位矩阵的列
例子:
我们最初创建一个0的矩阵,然后用前面定义的diag()方法给对角线分配1。
# defining number of rows and columns
row < - 6
col < - 6
# creating a diagonal matrix with
# dimensions 6 x 6
diag_mat < - matrix(0, row, col)
# specifying the diagonal value to be 1
diag(diag_mat) < - 1
# printing identity matrix
print("Identity Matrix")
print(diag_mat)
输出 。
[1] "Identity Matrix"
> print(diag_mat)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 0 0 0 0 0
[2,] 0 1 0 0 0 0
[3,] 0 0 1 0 0 0
[4,] 0 0 0 1 0 0
[5,] 0 0 0 0 1 0
[6,] 0 0 0 0 0 1