R语言中矩阵运算的函数.doc

R语言中矩阵运算的函数.doc

ID:50993080

大小:44.50 KB

页数:19页

时间:2020-03-08

R语言中矩阵运算的函数.doc_第1页
R语言中矩阵运算的函数.doc_第2页
R语言中矩阵运算的函数.doc_第3页
R语言中矩阵运算的函数.doc_第4页
R语言中矩阵运算的函数.doc_第5页
资源描述:

《R语言中矩阵运算的函数.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1创建一个向量在R中可以用函数c()来创建一个向量,例如:>x=c(1,2,3,4)>x[1]12342创建一个矩阵在R中可以用函数matrix()来创建一个矩阵,应用该函数时需要输入必要的参数值。>args(matrix)function(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)data项为必要的矩阵元素,nrow为行数,ncol为列数,注意nrow与ncol的乘积应为矩阵元素个数,byrow项控制排列元素时是否按行进行,dimnames给定行和列的名称。例如:>matrix(1:12,nrow=3,ncol=4)[,1][,2][,3

2、][,4][1,]14710[2,]25811[3,]36912>matrix(1:12,nrow=4,ncol=3)[,1][,2][,3][1,]159[2,]2610[3,]3711[4,]4812>matrix(1:12,nrow=4,ncol=3,byrow=T)[,1][,2][,3][1,]123[2,]456[3,]789[4,]101112>rowname[1]"r1""r2""r3">colname=c("c1","c2","c3","c4")>colname[1]"c1""c2""c3""c4">matrix(1:12,nrow=3,ncol=4,dimnames=lis

3、t(rowname,colname))c1c2c3c4r114710r2258113矩阵转置A为m×n矩阵,求A'在R中可用函数t(),例如:>A=matrix(1:12,nrow=3,ncol=4)>A[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912>t(A)[,1][,2][,3][1,]123[2,]456[3,]789[4,]101112若将函数t()作用于一个向量x,则R默认x为列向量,返回结果为一个行向量,例如:>x[1]12345678910>t(x)[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10][1,]1

4、2345678910>class(x)[1]"integer">class(t(x))[1]"matrix"若想得到一个列向量,可用t(t(x)),例如:>x[1]12345678910>t(t(x))[,1][1,]1[2,]2[3,]3[4,]4[5,]5[6,]6[7,]7[8,]8[9,]9[10,]10>y=t(t(x))>t(t(y))[,1][1,]1[2,]2[3,]3[4,]4[5,]5[6,]6[7,]7[8,]8[9,]9[10,]104矩阵相加减在R中对同行同列矩阵相加减,可用符号:“+”、“-”,例如:>A=B=matrix(1:12,nrow=3,ncol=4)>A

5、+B[,1][,2][,3][,4][1,]281420[2,]4101622[3,]6121824>A-B[,1][,2][,3][,4][1,]0000[2,]0000[3,]00005数与矩阵相乘A为m×n矩阵,c>0,在R中求cA可用符号:“*”,例如:>c=2>c*A[,1][,2][,3][,4][1,]281420[2,]4101622[3,]61218246矩阵相乘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[,1][,2]

6、[,3][1,]70158246[2,]80184288[3,]90210330若A为n×m矩阵,要得到A'B,可用函数crossprod(),该函数计算结果与t(A)%*%B相同,但是效率更高。例如:>A=matrix(1:12,nrow=4,ncol=3)>B=matrix(1:12,nrow=4,ncol=3)>t(A)%*%B[,1][,2][,3][1,]3070110[2,]70174278[3,]110278446>crossprod(A,B)[,1][,2][,3][1,]3070110[2,]70174278[3,]110278446矩阵Hadamard积:若A={aij}m

7、×n,B={bij}m×n,则矩阵的Hadamard积定义为:A⊙B={aijbij}m×n,R中Hadamard积可以直接运用运算符“*”例如:>A=matrix(1:16,4,4)>A[,1][,2][,3][,4][1,]15913[2,]261014[3,]371115[4,]481216>B=A>A*B[,1][,2][,3][,4][1,]12581169[2,]436100196[3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。