- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
r语言中矩阵运算新
R语言中矩阵运算
目录:矩阵的生成,矩阵的四则运算,矩阵的矩阵运算,矩阵的分解。
1.矩阵的生成
1_1将向量定义成数组
向量只有定义了维数向量(dim属性)后才能被看作是数组.比如:
z=1:12;
dim(z)=c(3,4);
AA z;
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
注意:生成矩阵是按列排列的。
1_2用array ( )函数构造多维数组
用法为:array(data=NA,dim=length(data),dimnames=NULL)
参数描述:data:是一个向量数据。
dim:是数组各维的长度,缺省时为原向量的长度。
dimname:是数组维的名字,缺省时为空。
例子:
x=array(1:20,dim=c(4,5))
x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
1_3用matrix()函数构造矩阵
函数matrix)是构造矩阵(二维数组)的函数,其构造形式为
matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)
其中data是一个向量数据,nrow是矩阵的行数,ncol是矩阵的列数.当byrow=TRUE时,生成矩阵的数据按行放置,缺省时相当于byrow=t,数据按列放置.dimname。是数组维的名字,缺省时为空.A
如构造一个3x5阶的矩阵
A=matrix(1:15,nrow=3,byrow=TRUE)
A
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
2.矩阵的四则运算
可以对数组之间进行四则运算(+、一、*、/),这时进行的是数组对应元素的四则运算。一般情况下参加运算的矩阵或者数组的维数是相同的,但也可以计算不同维的,这是要将对应的元素补足。
3.矩阵的矩阵运算
3_1 运算
对于矩阵A,函数t(A)表示矩阵A的转置,如:
A=matrix(1:6,nrow=2);
A;
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
t(A);
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
3_2 求方阵的行列式
函数det()是求矩阵行列式的值,如
det(matrix(1:4,ncol=2));
[1] -2
3_3 向量的内积
对于n维向量x,可以看成nxl阶矩阵或lxn阶矩阵。若x与y是相同
维数的向量,则x%*%Y表示x与y作内积.例如,
x=1:5; Y=2*1:5Z
x%*%y
[,1]
[1,]110
函数crossprod()是内积运算函数(表示交叉乘积),crossprod(x,y)计算向量x与y的内积,即t(x) %*% y。crossprod(x)表示x与x的内积.
类似地,tcrossprod(x,y)表示’x%*%t(Y)’,即x与y的外积,也称为叉积。tcrossprod(x)表示x与x作外积.如:
x=1:5; y=2*1:5;
crossprod(x);
[,1]
[1,] 55
crossprod(x,y);
[,1]
[1,] 110
tcrossprod(x);
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 2 4 6 8 10
[3,] 3 6 9 12 15
[4,] 4 8 12 16 20
[5,] 5 10 15 20 25
tcrossprod(x,y);
[,1] [,2
文档评论(0)