how do i discretize negative integers

2 Ansichten (letzte 30 Tage)
johnson saldanha
johnson saldanha am 6 Nov. 2018
Bearbeitet: Bruno Luong am 12 Nov. 2018
[~, 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?

Akzeptierte Antwort

Stephen23
Stephen23 am 6 Nov. 2018
Bearbeitet: Stephen23 am 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 Kommentare
johnson saldanha
johnson saldanha am 12 Nov. 2018
@StephenCobeldick. im getting the answer as 20. thats it
Bruno Luong
Bruno Luong am 12 Nov. 2018
Bearbeitet: Bruno Luong am 12 Nov. 2018
So? Common: YOU make a change (column #2) that breaks the code, so don't complain to me.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Bruno Luong
Bruno Luong am 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 Kommentar
johnson saldanha
johnson saldanha am 12 Nov. 2018
after i am done assigning how do the display the values in each bin

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by