MATLAB Answers

Matthew
0

Replace nan's with blanks

Asked by Matthew
on 11 Jul 2012
Latest activity Commented on by BingoIngo on 15 May 2019
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.

Sign in to comment.

2 Answers

Answer by Honglei Chen
on 11 Jul 2012
Edited by Honglei Chen
on 11 Jul 2012
 Accepted Answer

B(cellfun(@isnan,B)) = {[]}

  3 Comments

Matthew
2012 年 7 月 11 日
Thanks.
Rebecca Tharp 2016 年 5 月 5 日
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?
BingoIngo on 15 May 2019
I have the same issue. Is there a solution for it?

Sign in to comment.


Answer by 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

Sign in to comment.