主要内容

冒号,,,,

向量创建,阵列订阅和为了- 环迭代

句法

x = j:k x = j:i:k a(:,n)a(m,:) a(:) a(j:k)

描述

结肠是MATLAB中最有用的操作员之一®。它可以创建向量,下标数组并指定为了迭代。

例子

X=jk创建一个单位间隔向量X带有元素[J,J+1,J+2,...,J+M]在哪里m = fix(k-j)。如果jk都是整数,那就是[J,J+1,...,K]

例子

X=j一世k创建定期间隔的矢量X使用一世作为元素之间的增量。向量元素大致等于[J,J+I,J+2*I,...,J+M*I]在哪里m = fix((k-j)/i)。但是,如果一世不是整数,然后浮点算术在确定是否是否冒号包括端点k在矢量中,因为k可能不是确切地等于J+M*I。如果指定非刻度数组,则MATLAB解释J:I:K作为J(1):I(1):K(1)

X =结肠(J,K)X =结肠(J,I,K)是执行命令的替代方法J:kJ:I:K,但很少使用。这些语法使运算符为类超载。

例子

一个),,,,是,:),,,,一个(:), 和A(J:K)是矩阵的常见索引表达式一个其中包含结肠。当您在索引表达式中使用结肠作为下标时一个),包括包括速记全部特定数组维度中的下标。出于索引的目的,创建带有结肠的向量也很常见A(J:K)。某些索引表达式结合了结肠的两种用途,如a(:,j:k)

包含结肠的常见索引表达式是:

  • 一个)是个n矩阵的列一个

  • 是,:)是个m矩阵一个

  • a(:,:,p)是个p三维阵列的页面一个

  • 一个(:)重塑所有元素一个进入单列向量。如果这没有影响一个已经是列向量。

  • 一个(:,:)重塑所有元素一个进入二维矩阵。如果这没有影响一个已经是矩阵或向量。

  • A(J:K)使用向量J:k索引一个因此等效于向量[a(j),a(j+1),...,a(k)]

  • a(:,j:k)在第一个维度中包括所有下标,但使用向量J:k在第二维中索引。这将返回带有列的矩阵[a(::,j),a(:,j+1),...,a(:,k)]

例子

全部收缩

创建1到10之间的数字的单位间隔向量。结肠操作员使用默认增量为+1。

x = 1:10
x =1×101 2 3 4 5 6 7 8 9 10

创建通过指定值增加或减少的向量。

创建一个向量,其元素会增加0.1。

x = 0:0.1:1
x =1×110 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.8000 0.9000 1.0000

创建一个向量,其元素减少-2。

y = 10:-2:0
y =1×610 8 6 4 2 0

检查使用结肠索引矩阵索引的几种方法

创建一个3 x-3矩阵。索引第一行。

a =魔术(3)
a =3×38 1 6 3 5 7 4 9 2
a(1,:)
ans =1×38 1 6

索引第二列和第三列。

A(:,2:3)
ans =3×21 6 5 7 9 2

将矩阵重塑为列向量。

一个(:)
ans =9×18 3 4 1 5 9 6 7 2

在一个背景下为了- 环,结肠指定循环迭代。

写一个为了- 平方的循环值n在1到4之间。

为了n = 1:4 n^2结尾
ans = 1
ANS = 4
ANS = 9
ANS = 16

输入参数

全部收缩

启动向量值,指定为真实的数字标量。如果j 因此,输出向量不是空的,然后j是向量中的第一个元素。

例子:x = 0:5

例子:x = 0:0.5:5

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|char|约会时间|期间

结束向量值,指定为真实的数字标量。k仅当增量与恰好登陆时,是向量中的最后一个值k。例如,向量0:5包括5作为最后一个值,但是0:0.3:1由于增量不与端点一致,因此不包括值1作为最后值。

例子:x = 0:5

例子:x = 0:0.5:5

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|char|约会时间|期间

向量元素之间的增量,指定为真实数字标量。

例子:x = 0:0.5:5

数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64|char|约会时间|期间

输出参数

全部收缩

定期间隔向量,作为行向量返回。如果j> k, 然后x = j:k是一个空矩阵。更一般地语法x = j:i:k返回一个空矩阵时:

  • 一世,,,,j, 或者k是一个空输入

  • i == 0

  • 我> 0j> k

  • 我<0j

提示

  • 为了参考页面有关于如何使用的描述在循环语句的上下文中。

  • linspace与结肠操作员相似,但它可以直接控制点数,并且始终包含端点。同胞功能logspace生成对数间隔值。

  • 当您创建向量以索引到单元格数组或结构数组时(例如细胞名{:}或者structname(:)。fieldname),MATLAB在逗号分隔列表中返回多个输出。有关更多信息,请参阅如何使用逗号分隔列表

扩展功能

在R2006a之前引入