2016-09-14 44 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 –