Matlab、R向量与矩阵操作z-创新互联
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站建设、通化网络推广、成都微信小程序、通化网络营销、通化企业策划、通化品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供通化建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com | 描述 | Matlab | R |
1 | 建立行向量v=[1 2 3 4] | v=[1 2 3 4] | v<-c(1,2,3,4)或v<-scan(),然后输入1 2 3 4,并按Enter |
2 | 建立列向量v=[1 2 3 4]’ | v=[1;2;3;4] | 同上,R中不区分行列 |
3 | 建立矩阵A=(142536) | A=[1 2 3;4 5 6] | A<-matrix(c(1,2,3,4,5,6), nrow=2,byrow=TRUE) |
4 | 访问向量中元素,如第3个元素 | v(3) | v[3] |
5 | 访问矩阵中元素,如第二行,第三列 | A(2,3) | A[2,3] |
6 | 用访问向量元素的方式访问矩阵元素 | A(6) **先数列后数行 | A[6] **先数列后数行 |
7 | 生成等差递增序列(单位步长),如2,3,4,5,6,7 | 2:7 | 2:7 |
8 | 生成等差递减序列(单位步长),如7,6,5,4,3,2 | 7:-1:2 | 7:2 |
9 | 生成等差递增序列, 如2,5,8,11,14 | 2:3:14 | seq(2,14,3) |
10 | 7-9归纳起来,介于a和b之间,等差的n个数,可用函数 | linspace(a,b,n) | seq(a,b,len=n) |
11 | 构建以10为底的对数等距,即在10a和10b之间的n个数 | logspace(a,b,n) | 10^seq(a,b,len=n) |
12 | 构建所有元素都为0的k维向量 | zeros(k,1)列向量 zeros(1,k)行向量 | rep(0,k) |
13 | 构建所有元素都为j的k维向量 | j*ones(k,1) 列向量 j*ones(1,k) 列向量 | rep(j,k) |
14 | 构建所有元素都为0的n×m矩阵 | zeros(n,m) | matrix(0, nrow=n,ncol=m) 或matrix(0 ,n, m) |
15 | 构建所有元素都为j的n×m矩阵 | j*ones(n,m) | matrix(j, nrow=n, ncol=m) 或matrix(j, n, m) |
16 | n×n的单位矩阵 | eye(n) | diag(n) |
17 | 构建对角阵,使其对角线上的元素为向量v | diag(v) | diag(v, nrow=length(v)) |
18 | 提取矩阵A对角线元素 | v=diag(A) | v<-diag(A) |
19 | 矩阵横向连接(行数要相等) | [A1 A2] | cbind(A1,A2) |
20 | 矩阵纵向连接(列数要相等) | [A1;A2] | rbind(A1,A2) |
21 | 给定向量x和y,长度分别为m和n,生成m×n的矩阵X,其行为x;生成m×n的矩阵Y,其列为y; | [X,Y]=meshgrid(x, y) | m<-length(x); n=length(y); X<-matrix(rep(x,each=n),nrow=n); Y<-matrix(rep(y,m),nrow=n) |
22 | 向量元素掉转顺序 | v(end:-1:1) | rev(v) |
23 | 访问矩阵A的列,如第二列 | A(:, 2) | A[,2]#给出的结果是向量; A[,2,drop=FALSE]#结果是n×1的矩阵 |
24 | 访问矩阵A的行,如第七行 | A(7, :) | A[7, ]#给出的结果是向量; A[7, ,drop=FALSE]#结果是1×m的矩阵 |
25 | 将矩阵A“拉直”为向量 | A(:) | c(A) |
26 | 提取子矩阵,如2-4行,3-6列 | A(2:4,3:6) | A[2:4,3:6] |
27 | 提取特殊元素形成矩阵,如一个3×2矩阵,包含行7,7,6,列2,1的元素 | A([7 7 6],[2 1]) | A[c(7,7,6),c(2,1)] |
28 | 按行掉转矩阵元素顺序 | fliplr(A) | t(apply(A,1,rev)) |
29 | 按列掉转矩阵元素顺序 | flipud(A) | apply(A,2,rev) |
30 | 截取向量v,如保留前10个元素 | v=v(1:10) | v<-v[1:10]或 length(v)<-10 |
31 | 截取向量v元素,从a处开始至结尾 | v=v(a:end) | v<-v[a:length(v)] |
32 | 截取向量v中除k以外的所有元素 | v=v(1:(k-1) (K+1):end) | v<-v[-k] |
33 | 截取除k和j以外的所有元素 | 32中的方法 | v<-v[c(-k, -j)] |
34 | 对矩阵A中的元素重新排成n行m列的新矩阵(A中必须有nm个元素) | A=reshape(A, n, m ) | dim(A)=c(n, m) |
35 | 提取矩阵A的下三角矩阵 | L=tril(A) | L<-A; L[upper.tri(A)]<-0 |
36 | 提取矩阵A的上三角矩阵 | U=triu(A) | U<-A; U[lower.tri(A)]<-0 |
37 | 提取n×n的Hilbert矩阵 | hilb(n) | Hilbert(n) **需加载Matrix库 |
38 | 构建n维数组,如3×4×2 | reshape(1:24, 3, 4, 2)或 reshape(1:24, [3 4 2]) | array(1:24, c(3,2,4)) |
http://blog.sciencenet.cn/blog-623486-598294.html
分享标题:Matlab、R向量与矩阵操作z-创新互联
文章来源:http://cdiso.cn/article/depods.html