我一直在反彈這個問題的一些想法,但認爲我會諮詢在線社區,看看是否有更好的選擇。使用python進行階躍函數分析
所以我有階梯狀的函數圖形是這樣的:
而與此我想計算步驟之間的y位移。
正如人們所看到的,這些步驟並不是完全水平的,而是在升級之前取一小部分y值。
所以,問題是:
(1)什麼是「正確」的方式(如果有的話),每次取「水平」的平均y值?我不確定我應該在哪裏使用我最左邊的點和最右邊的每個點 - 所以我可以將這些點之間的數值取平均值,然後達到每個級別的「平均值」,希望這可以使得感。正如人們所看到的,它們並不全都在x中位移相同。最終目標是獲得水平之間的y位移,一旦我獲得每個「水平」的「平均」值,取得差異是微不足道的。
我可能正在考慮採用曲線的導數,並且在每個關卡的左右兩個點上看到其等於零的位置,但我不確定它會起作用,因爲每個關卡都包含點( dy/dx = 0) - 所以我可以使用一些見解。
謝謝:)噢 - 這必須在Python中完成 - 它不僅僅是這些圖形,而且它們中的很多具有類似的風格,所以代碼必須足夠通用以處理其他類似步驟圖表。
日期文件圖1:http://textuploader.com/5nwsh
數據文件圖2:http://textuploader.com/5nwsv
數據文件圖3:http://textuploader.com/5nwsj
散點圖Python代碼:
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
data=np.loadtxt('data-file')
x= data[:,0]
y=data[:,1]
pl.plot(data[:,0],data[:,1],'r')
pl.xlabel('x')
pl.ylabel('y')
plt.show()
@ roadrunner66難道沒關係,如果我們傾斜或不?水平之間的差異將是相同的Y位移? – Scientized
我相信你的解決方案應該放在你想要了解的物理現實的模型中。例如。你想旋轉圖形首先與x和y對齊還是當前座標系統是你需要的座標系統?如果這些步驟非常週期,則FFT可能是測試周期性的一種方式。衍生工具將允許您通過設置偏移量來消除傾斜度,使得大多數點的平均值爲零,如您所述。 – roadrunner66
否。如果您將圖形傾斜爲近似水平,則「y軸」中不會出現「step」。所以需要對步驟進行定義,我認爲您的意思是,圖形以類似於樓梯的方式傾斜,就像在第二張圖中一樣。 – roadrunner66