结肠

向量生成,数组下标,和对于循环迭代

句法

X = Y:的K×= j的:ⅰ:K A(:,N)A(米,:) A(:)第(j:k)的

描述

冒号是MATLAB中最有用的运算符之一®。它可以创建向量,标阵列,并指定对于迭代。

X=Ĵķ创建一个单位间距的向量X与元素[J,J + 1,J + 2,...,J + M]哪里米=修复(K-j)的。如果Ĵķ都是整数,那么这是简单的[j, + 1,…, k)

X=Ĵ一世ķ创建一个规则间隔的向量X运用一世元素之间的增量。向量元素大致等于[J,J + I,J + 2 * 1,...,J + M * I]哪里m =修复((k-j) / i)。但是,如果一世不是整数,则浮点运算在确定是否一个角色结肠包括端点ķ在向量中,因为ķ可能不是完全等于j + m *我。如果指定非标量数组,然后MATLAB解释我:kĴ(1):I(1):K(1)

x =结肠(j, k)X =结肠(J,I,K)执行命令的替代方法是什么j: k我:k但很少使用。这些语法使运算符重载的类。

(:,n)上午,:)(:),(j, k)是一个矩阵共同索引的表达式一个包含冒号。当使用一个冒号作为在索引表达一个下标,如(:,n),它作为简写为包括所有特定数组维中的下标。为索引创建一个带冒号的向量也很常见,比如(j, k)。有些索引表达式结合了冒号的两种用法,如inA(:,J:K)

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

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

  • 上午,:)矩阵的第i行一个

  • A(:,:,p)的p三维数组的第页一个

  • (:)重塑中的所有元素一个成一个单一的列向量。这样做,如果没有效果一个已经是一个列向量。

  • (::)重塑中的所有元素一个成二维矩阵。这样做,如果没有效果一个已经是一个矩阵或向量。

  • (j, k)使用向量j: k索引到一个并因此等效于矢量[(j)、(j + 1),…(k))

  • A(:,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增加的载体。

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递减的载体。

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

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

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

=魔法(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

在上下文对于-loop,结肠指定循环迭代。

写一个对于-循环,平方一个数值的值ñ在1和4之间。

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

输入参数

全部折叠

开始矢量值,指定作为一个真正的数字标。如果j < k这样输出向量就不是空的Ĵ是向量的第一个元素。

例子:X = 0:5

例子:X = 0:0.5:5

数据类型:||INT8|int16|int32|Int64的|UINT8|uint16|UINT32|UINT64|字符|datetime|持续时间

结束矢量值,指定为实数值标量。ķ向量中的最后一个值是否只在增量与着陆点完全重合时才出现ķ。例如,向量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返回一个空矩阵时:

  • 一世Ĵ, 要么ķ为空输入

  • 我== 0

  • 我> 0j > k

  • 我<0j < k

提示

  • 对于参考页面有如何使用的说明在循环语句的上下文。

  • linspace类似于结肠操作者,但它给出了点的数量直接控制,并始终包括端点。同级功能logspace生成对数间隔的值。

  • 当创建矢量索引到一个单元阵列或结构阵列(如单元名称{:}structName(:)。字段名),MATLAB返回一个逗号分隔的列表多个输出。欲了解更多信息,请参阅如何使用逗号分隔的列表

扩展功能

之前介绍过的R2006a