2016-09-14 69 views
-4

我有一大组原始数据对应于我想绘制的荷载位移。 [请参考此处的示例:http://pastebin.com/qgZGs39K]在地块上查找最大y值

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

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

在此先感谢

+2

但是数组中的最大值也是图中的最大值......我不明白你的问题 – obchardon

+2

Pastebin已被删除,并且通常不清楚你在找什么。 - 直到你会添加一个明确的输入*和*输出的例子,我已经投票结束这个问题,因为它不清楚你要问什么。 –

+0

对不起,不清楚。 [Here](http://pastebin.com/kvxUND7m)是重新加载的数据csv,[this](http://imgur.com/a/08Dnb)图应该说明我的查询。感谢您的回复 –

回答

-2

我不知道我有问题。据我所知,你已经绘制了数据,并且你希望绘图上的最大值,这意味着你需要插值数据的最大值,换言之,对于不是原始x组的一部分的点。

如果这是个问题,有几件事情需要说明。 首先,根据我的知识,绘图命令不会内插,它只是将每个点链接到邻居。这意味着数组中的最大值恰好是图上的最大值。

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

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

我希望这是有帮助的。

+0

“只是将每个点连接到相邻点” - 又名分段线性_interpolation_ – dasdingonesin

+0

我知道了,当我写道线性插值不会给任何帮助。通过插值,我的意思是可以对这个问题有用的东西。但你说得对,我以不恰当的方式使用了这些词。抱歉。 –

+0

嗨。感谢您回复我的问题,对于不清楚的问题感到抱歉。 [Here](http://pastebin.com/kvxUND7m)是重新上传的数据的csv,[this](http://imgur.com/a/08Dnb)图应该有助于clarfiy –