# Categorizing array elements based on percentage

2 views (last 30 days)
KK14 on 25 Jun 2020
Commented: KK14 on 26 Jun 2020
I have an array, whose odd indices are to be divided into 4 categories based on some predefined percentage.For example, say X = [1,2.....20],odd_ind = [1 3 5...17 19], among which the first 40% are to be categorized as 1, next 30% as 2, next 20% as 3 and next 10% as 4.Could anyone guide me through this?I am a beginner and need some help with this.

AJAY CHANDRA DORAGARI on 25 Jun 2020
first take all the odd indices out and form a matrix and then use logical opertion on the matrix
with first category say a<=0.4&a>0.3 you'll get the logical array which helps in getting elements out
second category say a<-30&a>20
and so on
i guess this will work
try this
Walter Roberson on 26 Jun 2020
Is that first 40% and so on by value, or by index?
KK14 on 26 Jun 2020
index

Rasul Khan on 26 Jun 2020
You can have the four categories separated this way.
a = 1 : 20;
odd_ind = a(1 : 2 : end);
category1 = odd_ind( (1 : end) <= 0.4 * end );
category2 = odd_ind((1:end) > 0.4 * end & (1 : end) <= 0.7 * end );
category3 = odd_ind((1:end) > 0.7 * end & (1 : end) <= 0.9 * end );
category4 = odd_ind((1:end) > 0.9 * end );

#### 1 Comment

KK14 on 26 Jun 2020
Thankyou.It worked just fine for me!