2012-06-07 53 views
1

我有兩列(相同大小),我必須在Matlab中進行插值。第一列是以小時爲單位的時間向量(9.5,9.6 9.73 10.13等),另一列是與「時間(小時)」列中每個元素相關的股票價格。在兩列中使用matlab中interp1命令的最有效方法

我希望有一些與我的價格向量中缺失的每個15分鐘,30分鐘,45分鐘和1小時(60分鐘)相關的價格。因此,我的時間(15,30,45分鐘和60分鐘)元素也在我每小時的時間列中缺失。

我該如何線性插入兩列以獲得相同的尺寸,然後能夠在每15分鐘(X.25小時,X.5小時,X.75小時和X小時)關聯一個價格?

謝謝!

+1

注意,即線性插值沒有因果關係。爲了填補缺點,它使用未來的信息。 – Serg

回答

6

這是一個行命令:

interp_prices = interp1(time, prices, 0:0.25:max(time)); 
+0

啊高超!你知道我是否可以在白天運行interp1命令?我的意思是,除了我的專欄時間和價格之外,我還有幾天的時間,而且我不想在幾天之間插入......例如16.5小時(從午夜算起)到9小時(上午)之間。再次感謝! – Plug4

+0

爲此,我建議將所需的天數乘以7.5,並將其放在0:0.25的末尾:___。然後將得到的插值結果分成7.5小時。 – Ansari

+0

謝謝!好主意,或者我可能只是運行interp1,然後刪除適合我不想要的時間之間的行。我希望更快的方式,因爲我已經處理了2000萬個觀察值,並且我想避免創建更多的數據,然後再刪除一個步驟。再次感謝Ansari! – Plug4