MATLAB入门之旅-索引和修改数组

任务一

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

y = A(5,7)

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

任务

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

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 的第八个元素。

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

y = data(2,4)

提取多个元素

任务一

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

x = A(2,:)

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

任务

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

density = data(:,2)

任务二

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

x = A(1:3,:)

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

volumes = data(:,3:4)

任务三

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

x = v(3)

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

任务

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

p = density(6)

任务4

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

x = v(3:end)

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

任务

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

p = density(2:5)

附加练习

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

p = density(1),density(3),density(6)

更改数组中的值

任务一

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

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

v2 = data(:,end)

任务二

可以结合使用索引和赋值来修改变量的元素。
A(2) = 11

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

v2(1) = 0.5

任务三

任务

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

data(1,4) = 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、付费专栏及课程。

余额充值