Replace nan's with blanks

14 次查看(过去 30 天)
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 个评论
Ryan
Ryan 2012-7-11
I believe that matrices in matlab require some value to fill each slot. I think that cell arrays allow for empty cells though.

请先登录,再进行评论。

采纳的回答

Honglei Chen
Honglei Chen 2012-7-11
编辑:Honglei Chen 2012-7-11
B(cellfun(@isnan,B)) = {[]}
  3 个评论
Rebecca Tharp
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
BingoIngo 2019-5-15
I have the same issue. Is there a solution for it?

请先登录,再进行评论。

更多回答(1 个)

Nemanja Rakicevic
Nemanja Rakicevic 2015-11-24
I had the same issue. I just casted the variable to double instead of single and it returns blank spaces instead of 65535's.

Community Treasure Hunt

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

Start Hunting!

Translated by