Replace nan's with blanks
12 views (last 30 days)
Show older comments
I am having a problem with trying to export data to excel using actxserver. The vector I have in matlab has NaN's in it and I want them to show up as blanks in excel but they always show up as the value 65535. How can I replace the NaN's in matlab so that they are blanks. For example if I have a 1x1 matrix A which contains a bunch of numbers and NaN's I want to turn the NaNs into blanks. I tried something like this
B = num2cell(A);
B(isnan(B))=[];
but I get this error Undefined function 'isnan' for input arguments of type 'cell'.
I also tried
A(isnan(A))=[];
This deleted the Nan's and shortened the matrix, but I need a matrix of equal size with blank spaces int eh middle.
I have seen others try to turn NaNs into zero's on forums but that does not work for me because zeros would look like good data in the excel file not missing values.
1 Comment
Ryan
on 11 Jul 2012
I believe that matrices in matlab require some value to fill each slot. I think that cell arrays allow for empty cells though.
Accepted Answer
Honglei Chen
on 11 Jul 2012
Edited: Honglei Chen
on 11 Jul 2012
B(cellfun(@isnan,B)) = {[]}
3 Comments
Rebecca Tharp
on 5 May 2016
This leaves a [] in each cell. I get errors when trying to sum (or do other math) on the cells in this case. What can I put in each cell that will be invisible to the program and not change the size and shape of my array?
More Answers (1)
Nemanja Rakicevic
on 24 Nov 2015
I had the same issue. I just casted the variable to double instead of single and it returns blank spaces instead of 65535's.
0 Comments
See Also
Categories
Find more on Logical 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!