Replace zeros with NaN's - when there are already NaN's in the matrix?
24 次查看(过去 30 天)
显示 更早的评论
Hi
I have a large square matrix which is made up of smaller square matrices which have some NaN values. I used 'blkdiag' to combine the matrices diagonally and all the gaps were filled in with zeros.
I now wish to replace all of the zeros in the large matrix (F) with NaN's.
I tried F(find(~F))=NaN but I get an error saying NaN's cannot be converted to logicals, which makes sense but now I'm not sure how I can get round it. I am fairly new to Matlab.
Any help would be much appreciated.
0 个评论
采纳的回答
更多回答(2 个)
Ivan van der Kroon
2011-6-9
Change to double first:
F=double(F);
F(find(~F))=NaN;
Just curious; why would you need this?
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!