【发布时间】:2018-12-04 14:57:24
【问题描述】:
假设我有一个向量:
A = [1.444, 1.425, 1.435, 1.438, 1.438, 1.436, 1.436, 1.436, 1.436, 1.436];
可以看出,这个向量A 稳定或收敛于1.436。如何在 MATLAB 中找到此值的索引,例如 1.436?
编辑:
更多例子:
B = [1 2 1 4 2 5 6 2 ???? 5 5 5 5 5 5 5 5 5 5]
C = [224.424 224.455 224.454 224.456 224.456 224.452 224.451 224.456 ????????????.???????????? 224.454 224.454 224.454 224.454 224.454 224.454]
所以我想要的输出是向量中的元素不再改变时的索引。例如,向量中的值是一次获取的t。因此,对于第一个向量,当元素保持在 5 时,索引将位于索引 9。
与矢量C 相同。这里想要的输出是索引9,当元素恒定在224.454 时。
【问题讨论】:
-
如果想要比最后一个元素更复杂的东西(即
A(end)),那么不,我们不会“获取图片”。您必须清楚地以数学方式定义您想要实现的目标。您如何衡量收敛性?它总是在数组的末尾吗?这是迭代过程的一部分,还是只是从数组中获取值? Edit你的问题,让它更清楚。 -
如果你有对应的“x轴”值,你可以查看曲线的梯度,找出它的绝对值何时低于某个阈值(待定)。
-
这是我很长时间以来见过的最糟糕的收敛!我的意思是第一个值比第二个值更接近,第三个值比第四个和第五个值更接近。你从哪里弄来的?
-
@NickyMattsson 一个非常低时间分辨率的采样弹簧阻尼系统?
-
你可以使用
diff(有一些容忍度或者你最终可能会问Why is 24.0000 not equal to 24.0000 in MATLAB?)
标签: matlab vector convergence