Matlab、R向量与矩阵操作

 

描   

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=(1 4  2 5  3 6  )

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))

Matlab、R向量与矩阵操作的更多相关文章

  1. Matlab、R向量与矩阵操作 z

    已有 1849 次阅读 2012-8-2 15:15 |系统分类:科研笔记|关键词:矩阵 480 window border center Matlab.R向量与矩阵操作   描    述 Matla ...

  2. MATLAB 的向量,矩阵和阵列命令

    MATLAB 的向量,矩阵和阵列命令:

  3. MATLAB命令大全和矩阵操作大全

    转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵 ...

  4. MATLAB矩阵操作大全

    转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...

  5. R语言学习——向量,矩阵

    在R中,基本的数据结构有:向量,矩阵,数组,数据框,列表,因子,函数等. 向量:一系列同类型的有序元素构成. 向量是一维结构. 向量是R最简单的数据结构,在R中没有标量. 标量被看成1个元素的向量. ...

  6. 《学习R》笔记:科学计算器、检查变量和工作区、向量、矩阵和数组、列表和数据框

    一.第二章 科学计算器 要检查两个数字是否一样,要使用 all.equal() ,不要使用 == ,== 符号仅用于比较两个整型数是否存在相同 . > all.equal(sqrt(2)^2,2 ...

  7. 社交网络分析的 R 基础:(三)向量、矩阵与列表

    在第二章介绍了 R 语言中的基本数据类型,本章会将其组装起来,构成特殊的数据结构,即向量.矩阵与列表.这些数据结构在社交网络分析中极其重要,本质上对图的分析,就是对邻接矩阵的分析,而矩阵又是由若干个向 ...

  8. MATLAB矩阵操作和算术运算符

    矩阵的表示 矩阵之间用空格或者是逗号间隔 矩阵可以拼接(可以用矩阵拼接) 实部矩阵和虚部矩阵构成复数矩阵,一一对应. 冒号表达式: 格式: e1:e2:e3 e1表示初始值    e2表示步长   e ...

  9. 学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵

    线性代数,面向连续数学,非离散数学.<The Matrix Cookbook>,Petersen and Pedersen,2006.Shilov(1977). 标量.向量.矩阵.张量. ...

随机推荐

  1. [/wp_active.php]

    if ( !is_multisite() ) { wp_redirect( site_url( '/wp-login.php?action=register' ) );//将用户重定向到一个预先制定的 ...

  2. Opencv利用Mat访问像素值

    如果是采用Mat形式存储,想要访问灰度图像的灰度值,可以采用如下方法: 如果是彩色图像,采用如下方法: 说明: 其中gray_value中存放灰度值,image是读入的图像,i表示行,j表示列: co ...

  3. HDU 2561 第二小整数(排序,水)

    第二小整数 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. Windows 10 作为无线显示器无法被搜索到

    症状描述: Windows 10 的投影到此电脑功能失效,但是其它功能正常.同一网络,室友的电脑正常. 解决办法: 设备管理器启用“Microsoft Wi-Fi Direct Virtual Ada ...

  5. [POI2018]Prawnicy

    题目大意: 有$n(n\le10^6)$个线段,每个线段覆盖的范围是$[l_i,r_i]$,要求从中选取$k(k\le10^6)$个线段使得这些线段覆盖范围的交集最大,求最大交集及任意一种方案. 思路 ...

  6. c pvr转存pvr.ccz格式 (转 http://www.cnblogs.com/howeho/p/3586379.html)

    pvr.ccz 是把pvr用zlib算法压缩后的图像格式,其优点是可以提升文件读取效率. 大多数情况下我们可以用一些工具来将pvr压缩到pvr.ccz ,下面提供一个c++方法来完成这个过程 int ...

  7. Scala实战高手****第15课:Scala类型参数编程实战及Spark源码鉴赏

    1.Scala的类和方法.函数都可以是泛型 2.上界:表示泛型的类型必须是某种类型或者其类型的子类,语法:<: ,对类型进行限定 3.下界:表示泛型的类型必须是某种类型或者其类型的父类,语法:& ...

  8. Scala零基础教学【41-60】

    第41讲:List继承体系实现内幕和方法操作源码揭秘 def main(args: Array[String]) { /** * List继承体系实现内幕和方法操作源码揭秘 * * List本身是一个 ...

  9. SVN 文件删除及恢复

    SVN 文件删除及恢复 在TortoiseSVN管理的项目中删除文件的方法:   1. 在客户端按delete删除(OS中删除,不通过SVN)           ● 未提交之前一旦Update则被删 ...

  10. hdu4565之矩阵快速幂

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...