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

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

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

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

1 ответ

Вы, вероятно, хотите использовать функцию HISTOGRAM. Вот подробный пример из документации:

; 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

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

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

Другие вопросы по тегам