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.

 採用された回答

Walter Roberson
Walter Roberson 2014 年 3 月 3 日

0 投票

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 日

0 投票

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.

サインインしてコメントする。

カテゴリ

タグ

質問済み:

2014 年 3 月 3 日

コメント済み:

2014 年 3 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by