matlab遍历数组_学习笔记|MATLAB4 索引和修改数组

这篇教程介绍了如何在MATLAB中对数组进行索引,包括提取单个元素、多个元素以及修改数组值。通过行、列索引可以方便地访问和更新矩阵中的值。例如,使用`x(3)`提取向量的第三个元素,`x(2:4)`获取一段范围的值,`x(end)`引用最后一个元素。同时,可以使用冒号`:`选取整行或整列,如`x(:,2)`获取第二列所有元素。此外,教程还涵盖了如何用变量作为索引以及非连续索引的使用方法。
摘要由CSDN通过智能技术生成

4.1 对数组进行索引

4.2 提取多个元素

4.3 更改数组中的值

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

8d6593d9e23667515f2518e81f298b14.png

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

50a81326ef020e3c850d193914e66cd0.png

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

对数组进行索引

8ddbc1bee56c0f9efb5bbb09f15e1a60.png ca333d524dfa57bbacea4ba63383d4ab.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)

681a288b2287a50504f985500cc03c4b.png

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

y=4

n=data(y)

a7afdec55e77ace8fbd6131705edd251.png

提取多个元素

8ddbc1bee56c0f9efb5bbb09f15e1a60.png ca333d524dfa57bbacea4ba63383d4ab.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)

更改数组中的值

8ddbc1bee56c0f9efb5bbb09f15e1a60.png ca333d524dfa57bbacea4ba63383d4ab.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)

学习来源:Matlab官方教学网站《MATLAB 入门之旅》,链接如下:

MATLAB 和 Simulink 培训  https://matlabacademy.mathworks.com/cn 

MATLAB中,可以通过遍历数组来对数组中的元素进行操作。有两种常见的方法可以实现数组的遍历。 第一种方法是使用元素遍历,即通过循环遍历数组的每个元素,并对每个元素进行操作。可以使用一个变量来累加元素的值,例如: ``` v = [1, 4, 6, 4, 1]; s = 0; for ve = v s = s + ve; end disp(s); ``` 这段代码会遍历数组v中的每个元素,将每个元素加到变量s中,并最后打印出s的值。 第二种方法是使用下标遍历,即通过循环遍历数组的下标,并通过下标来访问和操作数组的元素。可以使用一个变量来保存操作后的结果,例如: ``` v = [1, 4, 6, 4, 1]; s = 0; for i = 1:length(v) s = s + v(i); end disp(s); ``` 这段代码同样会遍历数组v的每个下标,然后通过下标i来访问数组v的对应元素,并将每个元素加到变量s中。最后打印出s的值。 需要注意的是,在MATLAB中,数组的下标是从1开始的,而不是从0开始的。 总结起来,MATLAB中可以通过元素遍历或下标遍历来对数组进行遍历操作。使用元素遍历可以直接遍历数组的每个元素,而使用下标遍历可以通过下标来访问和操作数组的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [遍历数组的两种方式](https://blog.csdn.net/iwantnon/article/details/4378567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值