Replace any string in matrix with NaN

10 次查看(过去 30 天)
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 个评论
Markus
Markus 2013-8-29
can you give an example of your matrix?
jnaumann
jnaumann 2013-8-29
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

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-8-29
编辑:Azzi Abdelmalek 2013-8-29
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}

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by