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向量与矩阵操作的更多相关文章
- Matlab、R向量与矩阵操作 z
已有 1849 次阅读 2012-8-2 15:15 |系统分类:科研笔记|关键词:矩阵 480 window border center Matlab.R向量与矩阵操作 描 述 Matla ...
- MATLAB 的向量,矩阵和阵列命令
MATLAB 的向量,矩阵和阵列命令:
- MATLAB命令大全和矩阵操作大全
转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵 ...
- MATLAB矩阵操作大全
转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...
- R语言学习——向量,矩阵
在R中,基本的数据结构有:向量,矩阵,数组,数据框,列表,因子,函数等. 向量:一系列同类型的有序元素构成. 向量是一维结构. 向量是R最简单的数据结构,在R中没有标量. 标量被看成1个元素的向量. ...
- 《学习R》笔记:科学计算器、检查变量和工作区、向量、矩阵和数组、列表和数据框
一.第二章 科学计算器 要检查两个数字是否一样,要使用 all.equal() ,不要使用 == ,== 符号仅用于比较两个整型数是否存在相同 . > all.equal(sqrt(2)^2,2 ...
- 社交网络分析的 R 基础:(三)向量、矩阵与列表
在第二章介绍了 R 语言中的基本数据类型,本章会将其组装起来,构成特殊的数据结构,即向量.矩阵与列表.这些数据结构在社交网络分析中极其重要,本质上对图的分析,就是对邻接矩阵的分析,而矩阵又是由若干个向 ...
- MATLAB矩阵操作和算术运算符
矩阵的表示 矩阵之间用空格或者是逗号间隔 矩阵可以拼接(可以用矩阵拼接) 实部矩阵和虚部矩阵构成复数矩阵,一一对应. 冒号表达式: 格式: e1:e2:e3 e1表示初始值 e2表示步长 e ...
- 学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵
线性代数,面向连续数学,非离散数学.<The Matrix Cookbook>,Petersen and Pedersen,2006.Shilov(1977). 标量.向量.矩阵.张量. ...
随机推荐
- 2017中国大学生程序设计竞赛 - 女生专场C【前后缀GCD】
C HDU - 6025 [题意]:去除数列中的一个数字,使去除后的数列中所有数字的gcd尽可能大. [分析]: 数组prefixgcd[],对于prefixgcd[i]=g,g为a[0]-a[i]的 ...
- 传统路径导出 VS 直接路径导出(oracle exp direct=y)
Oracle 传统的Export与Import依旧被保留到11g,而且9i与10g有很多依旧使用Export与Import方式进行备份与恢复的企业.从Oracle 7.3开始,传统的exp导出程序提供 ...
- php调用html添加超链接的方法
不知道为何老搜不到,使用require_once命令导入的HTML文件没法加载js脚本,于是只能另谋他路,终于实线了,代码为 <?php header("Content-type:te ...
- AtCoder - 2567 RGB Sequence
Problem Statement There are N squares arranged in a row. The squares are numbered 1, 2, …, N, from l ...
- [读书笔记]iOS 7 UI设计 对比度
好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...
- JavaScript的=、==和===
(1) 百度知道上的解释: = 为对象赋值 == 表示两个对象toString值相等 === 表示两个对象类型相同且值相等 (2) 知乎上的解释: 绝大多数场合应该使用 === ,只有检测 null ...
- C#将json字符串解析成对象
首先我们在客户端生成json字符串,通过ajax把该字符串传到服务器端 //这是一个以id,email,age的json字符串 var jdata="[{\"id\&quo ...
- JAVA call graphs JAVA调用图
https://github.com/gousiosg/java-callgraph Programs for producing static and dynamic (runtime) call ...
- Oracle里面的用户user无法登录 LOCKED(TIMED)
SQL>conn test/test 还是报同样的错误,这就奇怪了.看看dba_users中该用户的状态等信息 SQL>select account_status,lock_date,pr ...
- [shell编程] sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
转载地址:http://www.cnblogs.com/pipelone/archive/2009/04/17/1437879.html 在Linux中执行.sh脚本,异常/bin/sh^M: bad ...