Replace any string in matrix with NaN

10 views (last 30 days)
I had a previous problem where I wanted to replace any string 'Bad' with NaN.
A forum member suggested the following code which works a treat;
buffer = strrep(buffer, 'Bad', 'NaN') ;
Is there anyway I can modify this so that any string which appears in the matrix is replaced by NaN rather than just the 'Bad'?
Many thanks in advance
Jack
  2 Comments
Markus
Markus on 29 Aug 2013
can you give an example of your matrix?
jnaumann
jnaumann on 29 Aug 2013
My measurement file usually inserts bad when a measurement couldn't be made however some floating point have been corrupted and Want to replace these (as well as the 'Bad's with NaN.
For example
Bad Bad Bad -6.54
-6.41 -6.32 -6.01
-6.14 -6.t4 Bad
In this case I want the -6.t4 to be replaced with NaN as well as the Bads

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 29 Aug 2013
Edited: Azzi Abdelmalek on 29 Aug 2013
a={'Bad' 'Bad' 'Bad' -6.54; -6.41 -6.32 -6.01 -6.14 ;-6.4 'Bad' 1 2}
b=cellfun(@num2str,a,'un',0);
a(ismember(b,'Bad'))={nan}

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!