How does tilde remove NaN's from dataset?

3 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2014-3-3
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 个评论
Ralph
Ralph 2014-3-3
Thank you for responding, Walter. I think that may clear up my confusion.

请先登录,再进行评论。

更多回答(1 个)

Rick Rosson
Rick Rosson 2014-3-3
Is this what you are trying to do?
C = isnan(B);
A = B(~C);
  1 个评论
Ralph
Ralph 2014-3-3
Hi, Rick. I think the other response I received may explain my confusion on using tilde. Thank you for responding.

请先登录,再进行评论。

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by