MATLAB 索引和修改数组

简介: 如果我们在索引时只提供一个值,那它会被认为是行索引,列索引则默认是。到 最后一个元素,即行向量。行所有列的元素,即行向量。行最后一列的值,即数值。行所有列的元素,即矩阵。行的所有列都会被赋值为。行的值会被赋值为与第。用作索引时,冒号运算符。
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页: 小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:MATLAB 索引和修改数组

1.对数组进行索引

我们可以使用行、列索引从数组中提取值,如:
x = [1 2 3;4 5 6;7 8 9]
y = x(2,2)
这样 y 会得到 x2 行第 2 列的值,即数值 5,可以注意到 MATLAB 中的索引是从 1 开始的。

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

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关键字在这里数值上就等于当前维度的长度,可以参与算数运算:

x = [1 2 3;4 5 6;7 8 9]
y = x(end-1,end-2)
这里 y 会得到 x 倒数第 2 行倒数第 3 列的值,即数值 4

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

x = [1 2 3;4 5 6;7 8 9]
y = x(2)
这里 y 会得到 x 的第 2 行第 1 列的值,即数值 4

2.提取多个元素

用作索引时,冒号运算符 :可指代该维度中的所有元素,如:
x = [1 2 3;4 5 6;7 8 9]
y = x(2,:)
这里 y 会得到 x 的第 2 行所有列的元素,即行向量 [4 5 6]

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

x = [1 2 3;4 5 6;7 8 9]
y = x(1:3,2)
这里 y 会得到 x 的第 13 行第 2 列的元素,即列向量 [2;5;8]

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

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

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

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

3.更改数组中的值

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

也可以这样:

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]
目录
相关文章
|
6天前
|
Python Windows
SciPy 教程 之 SciPy Matlab 数组 1
本教程介绍了如何使用 SciPy 的 `scipy.io` 模块处理 Matlab 数组。通过 `savemat()` 方法可以将数据导出为 Matlab 格式的文件,而 `loadmat()` 方法则用于从 Matlab 文件中导入数据。示例展示了如何导出和导入一维数组,并解决了导入时数组维度增加的问题。
7 1
|
数据可视化 索引
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理(二)
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理
107 0
|
6月前
|
存储 索引
第二章:MATLAB基础教程:数组和矩阵运算
第二章:MATLAB基础教程:数组和矩阵运算
64 0
|
6月前
|
存储 人工智能 资源调度
Matlab矩阵和数组的操作
Matlab矩阵和数组的操作
150 0
|
6月前
|
Java C++ 索引
matlab与python在三维数组上的差异
他们行列层位置不一样
122 0
|
6月前
【 期末复习】 matlab 数组知识点总结(超详细)
【 期末复习】 matlab 数组知识点总结(超详细)
|
存储 人工智能 数据可视化
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量(一)
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量
149 0
MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量(一)
|
存储 索引
matlab使用教程(2)—数组索引、工作区与字符
使用单一下标引用数组中特定元素的方法称为线性索引。MATLAB® 中的每个变量都是一个可包含许多数字的数组。如果要访问数组的选定元素,请使用索引。有时,字符表示的数据并不对应到文本,例如 DNA 序列。在 R2017a 中引入双引号来创建字符串之前编写的程序中,字符数组很常见。不过,您可以在赋值语句左侧指定当前维外部的元素。要引用多个数组元素,请使用冒号运算符,这使您可以指定一个格式为。可以将文本赋给变量。如果文本包含双引号,请在定义中使用两个双引号。使用方括号串联字符数组,就像串联数值数组一样。
matlab使用教程(2)—数组索引、工作区与字符
|
算法 索引
m扩展索引OFDM(Spread-OFDM-IM)matlab仿真,信号检测对比ZF,MMSE,ML等方法
m扩展索引OFDM(Spread-OFDM-IM)matlab仿真,信号检测对比ZF,MMSE,ML等方法
228 0
|
算法 索引
m基于DM-OFDM-IM技术的索引OFDM调制解调系统的性能matlab仿真分析
m基于DM-OFDM-IM技术的索引OFDM调制解调系统的性能matlab仿真分析
287 0