Azzera filtri
Azzera filtri

how do i discretize negative integers

1 visualizzazione (ultimi 30 giorni)
[~, discrete_x] = histc(x, edges);
discrete_x(discrete_x == length(edges)) = length(edges)-1;
discrete_x(discrete_x == 0) = NaN;
This works for positive integers only. what do i do if i have to do it for negative integers?

Risposta accettata

Stephen23
Stephen23 il 6 Nov 2018
Modificato: Stephen23 il 6 Nov 2018
"This works for positive integers only"
Actually histc works perfectly for negative values. It works for me:
>> x = 4-randi(9,1,10)
x =
-2 -5 -5 1 -1 -5 1 1 2 0
>> edges = -6:4:6
edges =
-6 -2 2 6
>> [~, idx] = histc(x, edges)
idx =
2 1 1 2 2 1 2 2 3 2
>> vec = x(idx)
vec =
-5 -2 -2 -5 -5 -2 -5 -5 -5 -5
  38 Commenti
johnson saldanha
johnson saldanha il 12 Nov 2018
@StephenCobeldick. im getting the answer as 20. thats it
Bruno Luong
Bruno Luong il 12 Nov 2018
Modificato: Bruno Luong il 12 Nov 2018
So? Common: YOU make a change (column #2) that breaks the code, so don't complain to me.

Accedi per commentare.

Più risposte (1)

Bruno Luong
Bruno Luong il 6 Nov 2018
"This works for positive integers only."
Wrong claim. It works for negative numbers,
histc(-1.5,[-3 -2 -1])
ans =
0 1 0
It only edges to be increased, meaning decrease in the absolute values
  1 Commento
johnson saldanha
johnson saldanha il 12 Nov 2018
after i am done assigning how do the display the values in each bin

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by