主要内容

结肠

向量创建、数组下标和循环迭代

语法

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

描述

冒号是MATLAB中最有用的运算符之一®.它可以创建向量、下标数组和指定迭代。

例子

xjk创建单位间距的向量x与元素[j, j + 1, + 2,…,j + m]在哪里m =修复(k-j).如果jk这两个都是整数吗[j, + 1,…,k)

例子

xjk创建规则间隔的向量x使用作为元素之间的增量。向量元素大致等于[j, j + i, j + 2 *我,…,j + m *我]在哪里m =修复((k-j) / i).然而,如果不是整数,那么浮点运算是否起决定作用结肠包括端点k在向量中,因为k可能不是完全等于j + m *我.如果你指定非标量数组,那么MATLAB解释我:k作为(1):我(1):k (1)

x =结肠(j, k)x =结肠(j, k)是否有其他执行命令的方法j: k我:k,但很少使用。这些语法允许类重载操作符。

例子

(:, n)一个(m,:)(:),(j, k)矩阵的常用索引表达式一个包含冒号。在索引表达式中使用冒号作为下标时,例如(:, n),它可以作为包含的简写所有特定数组维中的下标。创建带有冒号的向量用于索引也很常见,例如(j, k).有些索引表达式结合了冒号的两种用法,如(:, j, k)

包含冒号的常用索引表达式有:

  • (:, n)n矩阵的第t列一个

  • 一个(m,:)矩阵的第t行一个

  • (:: p)p页三维排列一个

  • (:)重新塑造的所有元素一个变成一个列向量。如果一个已经是列向量了。

  • (::)重新塑造的所有元素一个变成一个二维矩阵。如果一个已经是一个矩阵或向量。

  • (j, k)使用向量j: k指数为一个因此等于这个向量[(j)、(j + 1),…(k))

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

例子

全部折叠

创建一个单位距的向量,由1到10的数组成。冒号操作符默认使用+1增量。

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

创建递增或递减指定值的向量。

创建一个元素自增0.1的vector对象。

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.9000 1.0000

创建一个元素自减-2的vector对象。

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

检查使用冒号建立矩阵索引的几种方法

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

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

索引第二和第三列。

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

将矩阵重塑为列向量。

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

在上下文中-loop,冒号表示循环迭代。

写一个-loop用于对数字进行平方以获取值n在1和4之间。

N = 1:4 N ^2结束
ans = 1
ans = 4
ans = 9
ans = 16

输入参数

全部折叠

开始向量值,指定为实数标量。如果j < k所以输出向量不为空j是向量的第一个元素。

例子:x = 0:5

例子:x = 0:0.5:5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|datetime|持续时间

结束向量值,指定为实数标量。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|字符|datetime|持续时间

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

例子:x = 0:0.5:5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|datetime|持续时间

输出参数

全部折叠

规则间隔的向量,作为行向量返回。如果j > k,然后x = j。k是一个空矩阵。更一般地说,语法x = j:我:k在下列情况下返回空矩阵:

  • j,或k是空输入

  • 我= = 0

  • 我> 0j > k

  • 我< 0j < k

提示

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

  • linspace类似于冒号运算符吗,但它可以直接控制点的数量,并且总是包括端点。兄弟姐妹函数logspace生成对数间隔的值。

  • 当您创建要索引到单元格数组或结构数组(例如cellName{:}structName(:)。字段名), MATLAB以逗号分隔的列表返回多个输出。有关更多信息,请参见如何使用逗号分隔的列表

扩展功能

之前介绍过的R2006a