Group values of a vector into new vectors according to magnitude

1 次查看(过去 30 天)
I have a vector A with different values of angles:
A = [17 323 100 3 278 220 45 351 212 51]
what I need is to group all angles between 0 and 50° into a new vector called B, all angles between 50° and 100° into a new vector called C, and all angles between 100° and 360° into a new vector called D.
How can I achieve that?

采纳的回答

Chunru
Chunru 2021-9-17
A = [17 323 100 3 278 220 45 351 212 51]
A = 1×10
17 323 100 3 278 220 45 351 212 51
B = A(A>=0 & A<50)
B = 1×3
17 3 45
C= A(A>=50 & A<100)
C = 51
% Leave D for you

更多回答(1 个)

Jan
Jan 2021-9-17
A = [17 323 100 3 278 220 45 351 212 51];
Y = discretize(A, [0, 50, 100, 360])
Y = 1×10
1 3 3 1 3 3 1 3 3 2
C = splitapply(@(x) {x}, A, Y)
C = 1×3 cell array
{[17 3 45]} {[51]} {[323 100 278 220 351 212]}

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by