IDL, разбиение данных массива на блоки

новичок на сайте, поэтому, прежде всего, спасибо всем, кто вносит свой вклад, это потрясающе.

Я также новичок в IDL, пытаюсь использовать его для анализа некоторых данных. По сути, у меня есть набор данных, с помощью которых я хочу найти вероятность события. Для части этого я хотел бы разделить данные по оси X (время) на ячейки одинакового размера, а затем искать пик в каждой ячейке. Я понимаю, как находить пики в IDL, но не нашел способа разбить мои данные на ячейки одинакового размера.

Любые советы по этому поводу будут оценены. Спасибо!


person stargafs    schedule 26.01.2016    source источник


Ответы (1)


Возможно, вы захотите использовать функцию ГИСТОГРАММА. Вот подробный пример из документации:

; Read the ENSO (El Nino Southern Oscillation) time series
;  and set up a time vector.
enso = READ_BINARY(FILE_WHICH('elnino.dat'), DATA_TYPE=4, ENDIAN='little')
delta = 0.25 ; years
time = FINDGEN(N_ELEMENTS(enso))*delta + 1871

; Calculate histogram of series using bins of given width.
binsize = 0.1 ; in dimensionless units of ENSO index.
h_enso = HISTOGRAM(enso, BINSIZE=binsize, LOCATIONS=binvals)

; Display times series and histogram.
winsize = 500
w = WINDOW(DIMENSIONS=[2*winsize, winsize])
series = PLOT(time, enso, $
  /CURRENT, $
  POSITION=[0.10, 0.10, 0.65, 0.90], $
  XSTYLE=3, $
  XTITLE='Time (years)', $
  YTITLE='ENSO Index', $
  TITLE='El Ni!Sn!R!U~!No - Southern Oscillation (ENSO) Index (1871-1996)')

; Add a dotted line to indicate the zero value.
zero1 = PLOT(series.xrange, [0,0], LINESTYLE='dotted', /OVERPLOT)

; Plot up the histogram using the STAIRSTEP property.
histoplot = PLOT(h_enso, binvals, $
  /CURRENT, $
  POSITION=[0.70, 0.10, 0.95, 0.90], $
  /STAIRSTEP, $
  XTITLE='Frequency', $
  TITLE='Histogram of ENSO Index Values')

; Add a dotted line to indicate the zero value.
zero2 = PLOT(histoplot.xrange, [0,0], LINESTYLE='dotted', /OVERPLOT)

Вот ссылка на документы: http://www.exelisvis.com/docs/HISTOGRAM.html< /а>

Кроме того, для получения дополнительной информации ознакомьтесь с сообщением JD Smith на странице Дэвида Фаннинга: http://www.idlcoyote.com/tips/histogram_tutorial.html

Надеюсь это поможет!

person Chris Torrence    schedule 26.01.2016