Replace nan's with blanks

23 Ansichten (letzte 30 Tage)
Matthew
Matthew am 11 Jul. 2012
Kommentiert: BingoIngo am 15 Mai 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 Kommentar
Ryan
Ryan am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Nemanja Rakicevic
Nemanja Rakicevic am 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.

Community Treasure Hunt

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

Start Hunting!

Translated by