雖然我確信有答案,而且這個問題很低級(但總是容易讓事情發生),我的主要問題是試圖提出問題。通過對陣列中的點進行平均來減小陣列的大小(IDL)
說我有以下的數組:
time=[0,1,2,3,4,5,6,7,8,9,10,11] ;in seconds
data=[0,1,2,3,4,5,6,7,8,9,10,11]
的「時間」陣列處於「1」的二進制位,而是我想陣列是在「2S」的二進制位,其中數據是那麼意思是:
time=[0,2,4,6,8,10] ;in seconds
data=[0.5,2.5,4.5,6.5,8.5,10.5]
是否存在(並且我確定存在)IDL函數在IDL中實現這一點? 我的實際數據數組是:
DATA DOUBLE = Array[15286473]
所以我寧願使用現有的,有效的解決辦法不是不必要地創造我自己的。
乾杯, 保羅
NB:我可以通過插值的數據(INTERPOL)
IDL> x=[0,1,2,3,4,5,6,7,8,9,10]
IDL> x_new=interpol(x,(n_elements(x)/2)+1.)
IDL> print, x_new
0.00000 2.00000 4.00000 6.00000 8.00000 10.0000
問題只是與數據陣列
我發現國際刑警組織對時間陣列很好 - 因爲那裏我只需要在每個第二點的時間: IDL> x = [0,1,2,3,4,5,6,7,8, 9,10] IDL> x_new = interpol(x,(n_elements(x)/ 2)+1。) IDL> print,x_new 0.00000 2.00000 4.00000 6.00000 8.00000 10。0000 但無法看到它將如何工作的數據將是平均水平。 我會檢查出rebin!我最終編寫了類似於你的代碼,但總是很高興知道IDL未來的例程。 –
@PaulWright如果它幫助你,請將此標記爲接受的答案:) – VBB