迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > MATLAB >

在 MATLAB 中从向量中删除零

作者:迹忆客 最近更新:2023/03/19 浏览次数:

本文将讨论使用 MATLAB 中的 find() 函数从向量中删除零值。

在 MATLAB 中从向量中删除零

要从向量中删除零,我们需要使用 find() 函数找到向量中存在的零的索引或位置,该函数将返回零的索引。然后我们可以使用空向量或空向量为它们分配空值。

默认情况下,find() 函数将返回非零元素的索引,但我们可以在 find() 函数中放置条件以返回零的索引。例如,让我们定义一个包含一些零的向量并使用 find() 函数删除它们。

请参阅下面的代码。

clc
clear

n = [1 0 2 0 3 0]
indices = find(n==0)
n(indices) = []

输出:

n =

     1     0     2     0     3     0


indices =

     2     4     6


n =

     1     2     3

我们可以在上面的输出中看到 find() 函数返回索引,它指示向量中存在的所有零值的位置,然后我们使用索引将空向量分配给零。

find() 函数中,我们定义了条件 n==0,这意味着该函数将一个一个地遍历向量的值。如果向量值为零,它将返回其索引并移动到下一个值。

我们还可以定义其他条件,例如我们是否要删除或查找向量中存在的其他一些值。我们可以使用条件运算符,如小于、等于、大于、小于或等于、大于或等于和不等于在 find() 函数内定义条件。

如果我们不想删除所有的零值,而只想像前两个值一样删除几个零值,我们可以使用 find() 函数的第二个参数,它用于设置输出指标。

例如,让我们重复上面的示例并删除向量中的前两个零。请参阅下面的代码。

clc
clear

n = [1 0 2 0 3 0]
indices = find(n==0,2)
n(indices) = []

输出:

n =

     1     0     2     0     3     0


indices =

     2     4


n =

     1     2     3     0

我们可以在上面的输出中看到前两个零被删除,第三个零仍然存在于给定向量中。默认情况下,find() 函数从向量的开头开始搜索元素。

尽管如此,我们也可以将其设置为从向量的最后一个元素开始搜索过程,并使用 find() 函数的第三个参数移动到第一个元素,该参数用于设置方向。我们必须在 find() 函数的第三个参数中传递字符串 last 来设置它的方向。

例如,让我们重复上面的示例并删除给定向量中存在的最后两个零。请参阅下面的代码。

clc
clear

n = [1 0 2 0 3 0]
indices = find(n==0,2,'last')
n(indices) = []

输出:

n =

     1     0     2     0     3     0


indices =

     4     6


n =

     1     0     2     3

我们可以在上面的代码中看到,最后两个零已从向量中删除,而第一个零仍然存在。查看此链接以获取有关 find() 函数的更多详细信息。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 MATLAB 中注释多行

发布时间:2023/04/23 浏览次数:111 分类:MATLAB

可以使用注释块方法或 MATLAB 编辑器在 MATLAB 中注释多行。

MATLAB 最大索引

发布时间:2023/04/23 浏览次数:192 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 max() 函数从数组及其索引中查找最大值。

MATLAB 索引超出矩阵尺寸

发布时间:2023/04/23 浏览次数:103 分类:MATLAB

要解决索引超出矩阵索引的问题,请检查你要获取或替换数据的索引。

MATLAB 检查变量类型

发布时间:2023/04/23 浏览次数:92 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 class() 和 whos 函数检查给定变量的类型。

MATLAB vs Octave

发布时间:2023/04/23 浏览次数:74 分类:MATLAB

我们可以说 Octave 是 MATLAB 的免费版本。

MATLAB MAT 文件

发布时间:2023/04/23 浏览次数:89 分类:MATLAB

可以使用 MAT 文件在 MATLAB 中存储和加载格式化的数据。

MATLAB asv 文件

发布时间:2023/04/23 浏览次数:180 分类:MATLAB

.asv 文件是 MATLAB 生成的自动保存文件,因此在计算机崩溃时你不会丢失数据。

MATLAB 三元运算符

发布时间:2023/04/23 浏览次数:130 分类:MATLAB

MATLAB 中没有三元运算符,因此你必须使用标准格式。

MATLAB & vs &&

发布时间:2023/04/23 浏览次数:134 分类:MATLAB

在 MATLAB 中,&是逻辑与运算符,&&也是表现出短路行为的逻辑运算符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便