How does tilde remove NaN's from dataset?

Given a C = m x n matrix of 1's and 0's, and a data set B = r x s with NaN's mixed in with numeric data, how do I use the tilde to remove the NaN's? I have seen this in an example:
A=B(~C,:); and it worked in the example.
I cannot recreate it in a different problem. I also cannot find any explanation in any Mathworks information that explains it.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 3 Mär. 2014

0 Stimmen

You are not applying ~ to the NaNs, you are applying ~ to the matrix of 0 and 1. ~ is logical negation, so all the places in C that were 0 become "true" (1) and all the places in C that were anything else become "false" (0). That matrix of true and false is then used "logical indexing". You can read about that Steve's Blog

1 Kommentar

Ralph
Ralph am 3 Mär. 2014
Thank you for responding, Walter. I think that may clear up my confusion.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Rick Rosson
Rick Rosson am 3 Mär. 2014

0 Stimmen

Is this what you are trying to do?
C = isnan(B);
A = B(~C);

1 Kommentar

Ralph
Ralph am 3 Mär. 2014
Hi, Rick. I think the other response I received may explain my confusion on using tilde. Thank you for responding.

Melden Sie sich an, um zu kommentieren.

Tags

Gefragt:

am 3 Mär. 2014

Kommentiert:

am 3 Mär. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by