2014-06-26 182 views
0

我已經繪製了一些實驗數據的曲線,並且它在loglog規模的一定範圍內具有線性趨勢。我想知道是否有一個簡單的方法可以給出它的線性範圍。更具體地說,我想知道在一定範圍的20%或15%或5%範圍內它是線性的。由此我的意思是一階導數與整個線性範圍的平均導數不同。由於一些設置問題,我的曲線有一個「鋸」的行爲,這不允許我執行我剛剛描述的自己,因爲我經常有一個負面派生...Matlab中的線性範圍/曲線的一部分

總之,有沒有一個簡單的如何獲得只有線性部分的擬合,並瞭解我的曲線在哪個極限(5%,10%,15%...)中與擬合一致?我應該只使用cftool並執行1次多項式擬合嗎?然而,在這種情況下,整個曲線是合適的,但我想知道線性範圍是什麼......我希望我的問題和疑問很明確。

我相信我在Excel中找到一些叫做「趨勢線」的函數,但我真的想用Matlab。

任何幫助非常感謝! Iak

回答

0

您可以使用函數polyfit來適合您的數據。該函數將返回您的斜率和y截距。由於線性圖轉化爲常數一階導數,因此您可以查看一階導數(二階導數)的斜率,並查看其與零偏離的位置,以標記線性趨勢的結束。考慮到數據中的噪聲量,這可能很困難。

但是,要小心,因爲區分噪聲數據通常會增加信噪比。 MATLAB提供了一些有用的文檔,用於區分信號而不放大噪音here