前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MATLAB 索引和修改数组

MATLAB 索引和修改数组

作者头像
小嗷犬
发布2022-11-15 16:15:34
8620
发布2022-11-15 16:15:34
举报

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:MATLAB 索引和修改数组


MATLAB 索引和修改数组


1.对数组进行索引

我们可以使用行、列索引从数组中提取值,如:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(2,2)

这样 y 会得到 x2 行第 2 列的值,即数值 5,可以注意到 MATLAB 中的索引是从 1 开始的。

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

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(2,end)
z = x(end,1)

这里 y 会得到 x2 行最后一列的值,即数值 6z 会得到 x 最后一行第 1 列的值,即数值 7

end关键字在这里数值上就等于当前维度的长度,可以参与算数运算:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(end-1,end-2)

这里 y 会得到 x 倒数第 2 行倒数第 3 列的值,即数值 4

如果我们在索引时只提供一个值,那它会被认为是行索引,列索引则默认是 1

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(2)

这里 y 会得到 x 的第 2 行第 1 列的值,即数值 4


2.提取多个元素

用作索引时,冒号运算符:可指代该维度中的所有元素,如:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(2,:)

这里 y 会得到 x 的第 2 行所有列的元素,即行向量 [4 5 6]

冒号运算符还可以引用某个值范围,如:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x(1:3,2)

这里 y 会得到 x 的第 13 行第 2 列的元素,即列向量 [2;5;8]

对于行向量或者列向量,我们可以只提供一个索引值,来索引它对应的元素:

代码语言:javascript
复制
x = [1 2 3 4 5]
y = x(3)
z = x(2:end)

这里 y 会得到 x 的第 3个元素,即数值 3z会得到 x 的第 2 到 最后一个元素,即行向量 [2 3 4 5]

索引也可以是非连续的数字,我们可以用一个向量来存储离散的索引值:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
y = x([1 3],:)

这里 y 会得到 x 的第 13 行所有列的元素,即矩阵 [1 2 3;7 8 9]


3.更改数组中的值

上面两节我们已经学会了如何对指定位置进行索引,其实我们不止可以将索引出来的值赋值给变量,我们也可以对索引的位置进行修改:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
x(3,:) = 0

这样 x3 行的所有列都会被赋值为 0,即 x 变为 [1 2 3;4 5 6;0 0 0]

也可以这样:

代码语言:javascript
复制
x = [1 2 3;4 5 6;7 8 9]
x(3,:) = x(1,:)

这样 x3 行的值会被赋值为与第 1 列相同,即 x 变为 [1 2 3;4 5 6;1 2 3]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MATLAB 索引和修改数组
  • 1.对数组进行索引
  • 2.提取多个元素
  • 3.更改数组中的值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档