R软件矩阵使用总结
1 矩阵转置
A为m×n矩阵,求a'在R中可用函数t()
>A <- matrix(c(2,1,1,2),nrow = 2)
t>(A)
2 矩阵相加减
R中对同行同列矩阵相加减,可用符号:“+”、“-”,
3 数与矩阵相乘
A为m×n矩阵,c>0,在R中求cA可用符号:“*”
4 矩阵相乘
A为m×n矩阵,B为n×k矩阵,在R中求AB可用符号:“%*%”
> A=matrix(1:12,nrow=3,ncol=4)
> B=matrix(1:12,nrow=4,ncol=3)
> A%*%B
5 矩阵秩
>library(Matrix)
>rankMatrix(A)
6 矩阵的特征值与特征向量
>eigen(A) #A为方阵
7 矩阵求逆
矩阵求逆可用函数solve(),应用solve(a, b)运算结果是解线性方程组ax = b,若b缺省,则系统默认为单位矩阵,因此可用其进行矩阵求逆
> solve(a)
8 矩阵对角元素相关运算
取一个方阵的对角元素
>diag(A)
函数将产生以这个向量为对角元素的对角矩阵
>diag(diag(A))
对一个正整数z应用diag()函数将产生以z维单位矩阵
>diag(3)
9 行列式的值
det(a)
行列式的值=方阵的特征值的乘积
A的迹(矩阵对角元素的和)= 方阵的特征值的和
prod<- function(b){
prod<- 1
for(i in 1:length(b)){
prod<- prod*b[i]
}
prod
}
prod(b$value)=det(a)
sum(b$value)=sum(diag(a))
10 对角阵
diag(eigen(a)$values)
例题 R解多元一次方程,方程如下
x+2y+2=7
2x-y+3z=7
3x+y+2z=18
R中求解如下
a <- matrix(c(1,2,3,2,-1,1,1,3,2),nrow = 3)
b <- c(7,7,18)
solve(a,b)
A为m×n矩阵,求a'在R中可用函数t()
>A <- matrix(c(2,1,1,2),nrow = 2)
t>(A)
2 矩阵相加减
R中对同行同列矩阵相加减,可用符号:“+”、“-”,
3 数与矩阵相乘
A为m×n矩阵,c>0,在R中求cA可用符号:“*”
4 矩阵相乘
A为m×n矩阵,B为n×k矩阵,在R中求AB可用符号:“%*%”
> A=matrix(1:12,nrow=3,ncol=4)
> B=matrix(1:12,nrow=4,ncol=3)
> A%*%B
5 矩阵秩
>library(Matrix)
>rankMatrix(A)
6 矩阵的特征值与特征向量
>eigen(A) #A为方阵
7 矩阵求逆
矩阵求逆可用函数solve(),应用solve(a, b)运算结果是解线性方程组ax = b,若b缺省,则系统默认为单位矩阵,因此可用其进行矩阵求逆
> solve(a)
8 矩阵对角元素相关运算
取一个方阵的对角元素
>diag(A)
函数将产生以这个向量为对角元素的对角矩阵
>diag(diag(A))
对一个正整数z应用diag()函数将产生以z维单位矩阵
>diag(3)
9 行列式的值
det(a)
行列式的值=方阵的特征值的乘积
A的迹(矩阵对角元素的和)= 方阵的特征值的和
prod<- function(b){
prod<- 1
for(i in 1:length(b)){
prod<- prod*b[i]
}
prod
}
prod(b$value)=det(a)
sum(b$value)=sum(diag(a))
10 对角阵
diag(eigen(a)$values)
例题 R解多元一次方程,方程如下
x+2y+2=7
2x-y+3z=7
3x+y+2z=18
R中求解如下
a <- matrix(c(1,2,3,2,-1,1,1,3,2),nrow = 3)
b <- c(7,7,18)
solve(a,b)
评论
发表评论