在地块

时间:2016-09-14 11:47:31

标签: matlab plot max

我有一大堆原始数据,对应于我想绘制的载荷位移。 [请参阅此处的示例:http://pastebin.com/qgZGs39K]

我想将位移数据存储在数组x中,将负载数据存储在数组y中,然后绘制(x,y)并最终找到曲线上加载的最大值。

如果我的理解是正确的,ymax = max(y)之类的东西将返回数组中的最大值,而不是图中的最大值。 interp1命令在这里有用吗?

提前致谢

1 个答案:

答案 0 :(得分:-2)

我不确定我是否得到了这个问题。据我所知,您已经绘制了数据,并且您希望绘图上的最大值,这意味着您希望插值数据的最大值,换句话说,您想要的是不属于原始x集的点。

如果这是一个问题,那么很少有事情要说清楚。 首先,根据我的知识,plot命令不进行插值,它只是将每个点链接到邻居。这意味着数组中的最大值恰好是图上的最大值。

一种可能性是使用interp1,这是我以前从未见过的命令。通过查看指南,在链接http://it.mathworks.com/help/matlab/ref/interp1.html?requestedDomain=www.mathworks.com,我了解到它让您有机会以不是原始点的方式插入数据集。 因此,我认为它应该有效。你只需要定义一个插值基(你不知道原始集合中的y值的x点)就足够了,这样你就可以获得所需的分辨率。

然后你应该在新的向量上使用max命令。小心interp1,你必须选择合适的插值方法,因为其中一些(我认为,例如,线性的)不应该找到y的任何新值。

我希望这很有帮助。