Azzera filtri
Azzera filtri

separate rain events by specific dry period

1 visualizzazione (ultimi 30 giorni)
Hi
I have hourly rain data for a period of 5 years
x = [0 0 0 0 0 2 4 5 14 10 16 0 0 0 0 0 24 33 22 0 0 2 3 5 0 0 0 0.........]
I need to group them considering that each rain event is separated by 3 hours of zero values or more
How could I get the numbers of rain events, their mean rain value and duration of each event?

Risposta accettata

Image Analyst
Image Analyst il 12 Mag 2022
Try this, if you have the Image Processing Toolbox.
x = [0 0 0 0 0 2 4 5 14 10 16 0 0 0 0 0 24 33 22 0 0 2 3 5 0 0 0 0]
props = regionprops(x > 0, x, 'Area', 'MeanIntensity')
numberOfRainPeriods = length(props)
stormLengths = [props.Area] % In hours
meanRainPerHour = [props.MeanIntensity] % In mm or whatever.
integratedRainTotalsPerStorm = stormLengths .* meanRainPerHour % In mm or whatever.
You get
numberOfRainPeriods =
3
stormLengths =
6 3 3
meanRainPerHour =
8.5 26.333 3.3333
integratedRainTotalsPerStorm =
51 79 10
  3 Commenti
Image Analyst
Image Analyst il 7 Gen 2023
@Jovon Jacob give an example. Input, and output vectors. Best if you start your own thread and attach this code as your starting code.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by