matlab 找到数组中第一个不连续点_学习笔记|MATLAB4 索引和修改数组

4.1 对数组进行索引

4.2 提取多个元素

4.3 更改数组中的值

索引:引用数组中的元素。您可以通过索引来提取和修改数组中的值,值在数组中的位置被称为它的索引。您可以使用索引提取特定值。

7871511bb4165d24815b6b1055b2962b.png

例如您需要向量x的第三个元素,请键入x(3)。如果您知道元素的位置,也可以更改值,此处我们将第三个索引处的值更改为1,键入x(3)=1。您还可以提取某一范围内的值,方法是使用冒号以及该范围的第一个和最后一个索引,如键入x(24)

0437094911b1328d1abe8d62eac98ad3.png

如果您要从矩阵中提取元素,请改为指定两个索引,第一个索引是行,第二个索引是列,如键入x(1,3)。一种相当常见的场景,您要提取矩阵中的整行或整列,当您单独使用冒号作为索引时,它表示全部,如全部行或全部列。如提取第一行的全部列,键入x(1,:)。提取第三列的全部行,键入x(:,3)。矩阵索引的形式为(行,列),x(row,col);而向量只需要一个索引值,x(idx)

对数组进行索引

ab799fd3d39b62e97b58babe8d510038.png 34e832a54027ae456b17a05a6b306810.png

您可以使用行、列索引从数组中提取值。

y = A(5,7)

此语法将会提取 A 的第 5 行第列的值,然后将结果赋给变量 y

创建一个名为 x 的变量,其值为变量 data 中位于第 6 行第列的值。

x=data(6,3)

您可以使用 MATLAB 关键字 end 作为行或列索引来引用最后一个元素。

y = A(end,2)

使用 end 关键字获取变量 data 的最后一行第三列的值。将该值赋给一个名为 x 的变量。

x=data(end,3)

请注意,您可以将算术运算与关键字 end 结合使用。例如:

y = A(end-1,end-2)

创建标量变量 x,其值为 data 的倒数第二 (end-1) 行第三列的值。

x=data(end-1,3)

如果只对一个矩阵使用一种索引,它将按顺序从上到下遍历每列。试着用一种索引提取 data 的第八个元素。

m=data(8)

c703034a8633759738d5a37f659f21cc.png

您也可以使用变量作为索引。试着创建一个变量 y,并用 y 作为 data 的索引。

y=4

n=data(y)

3cdfa78156b04d3c4f3ec5d527d6e25f.png

提取多个元素

ab799fd3d39b62e97b58babe8d510038.png 34e832a54027ae456b17a05a6b306810.png

用作索引时,冒号运算符 (:) 可指代该维度中的所有元素。以下语法

x = A(2,:)

会创建一个包含 A 中第 2 行上所有元素的行向量。

创建一个名为 density 的变量,其中包含名为 data 的矩阵中第 2 列上的所有元素。

density=data(:,2)

冒号运算符可以引用某个值范围。以下语法会创建一个包含矩阵 A 的第 1 行、第 2 行和第 3 行所有元素的矩阵。

x = A(1:3,:)

创建一个名为 volumes 的变量,其中包含 data 的最后两列的所有元素。

volumes=data(:,end-1:end)

单个索引值可用于引用向量元素。例如

x = v(3)

会返回向量 v 的第 3 个元素(当 v 为行向量或列向量时)。

使用单个索引值创建一个名为 p 并且包含向量 density 中的第 6 个元素的变量。

p=density(6)

单个索引值范围可用于引用向量元素的子集。例如

x = v(3:end)

返回向量 v 的一个子集,其中包含从第三个到最后一个元素范围内的所有元素。

使用索引值范围创建一个名为 p 的向量,其中包含从 density 的第 2 个到第个元素范围内的所有元素。

p=density(2:5)

索引可以是非连续数字。试着提取 density 的第一个、第三个和第六个元素。

m=[1 3 6]

p=density(m)

更改数组中的值

ab799fd3d39b62e97b58babe8d510038.png 34e832a54027ae456b17a05a6b306810.png

记住您可以使用 : 字符来提取整列数据。

创建一个名为 v2 并且包含 data 的最后一列元素的向量。

v2=data(:,end)

可以结合使用索引和赋值来修改变量的元素。

A(2) = 11

 v2 中的第一个元素从 NaN 更改为 0.5

v2(1)=0.5

 data 的第一行和最后一列中元素的值更改为 0.5

data(1,end)=0.5

您可以结合使用索引与赋值,将数组值更改为与其他元素相等。例如,以下代码将 x(1) 的值更改为 x(2) 的值:

x(1) = x(2)

尝试将 data 的第一列更改为 data 的第二列。

data(:,1)=data(:,2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值