gpt4 book ai didi

matlab - 如何找到向量的下降部分并将其删除?

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:02 25 4
gpt4 key购买 nike

我有一个像 A = [20 30 40 50 60 55 54 60 70] 这样的向量。它总是递增直到无效值(此处为 ex.55),我需要找到该元素的索引并删除之后的所有元素。我想要的向量是 [20 30 40 50 60]有什么建议吗?

最佳答案

简答:

A(find(diff(A)<0,1)+1:end) = []

带解释的更长答案:

diff计算相邻元素之间的差异:

>> diff(A)

ans =

10 10 10 10 -5 -1 6 10

然后我们搜索那些小于零的差异的第一个索引,并删除这个和所有后续元素。

>>> idx = find(diff(A)<0,1)+1

idx =

6

>>> A(idx:end)

ans =

55 54 60 70

>> A(idx:end) = []

A =

20 30 40 50 60

关于matlab - 如何找到向量的下降部分并将其删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com