How do I get values of a certain parameter in a multi-dimensional matrix?

1 view (last 30 days)
A is a variable with the size of 1000 x 500.
% Index of those that are less than 10000
Ind = A < 10000;
Why does the below give me a 500000 x 1 column data, instead of a 1000 x 500 matrix?
b = a(Ind);
What did I do wrong? How do I get the correct b with the size of 1000 x 500?

Accepted Answer

Stephen23
Stephen23 on 30 Nov 2021
a(~Ind) = NaN

More Answers (1)

Matt J
Matt J on 30 Nov 2021
b should be an Nx1 vector where N is the number of elements satisfying A<10000.
  6 Comments
Steven Lord
Steven Lord on 30 Nov 2021
You could also use standardizeMissing.
M = 9e26;
format shortg
A = [4 8 M 15 M M; 16 23 42 M M M]
A = 2×6
1.0e+00 * 4 8 9e+26 15 9e+26 9e+26 16 23 42 9e+26 9e+26 9e+26
B = standardizeMissing(A, M)
B = 2×6
4 8 NaN 15 NaN NaN 16 23 42 NaN NaN NaN

Sign in to comment.

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!