how to put in zeros in the empty spaces of a matrix read by xlsread()?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Debanjan Dasgupta
am 4 Okt. 2014
Kommentiert: Debanjan Dasgupta
am 4 Okt. 2014
I have a xlsx data sheet which needs to be imported as a matrix. I am using xlsread for the same. But many spaces in the dataset are empty which are read as Nan. I want to replace these values with zeros. I have tried to initialize the matrix as:
a = magic(100); a = xlsread(filename.xlsx);
But still the same problem as I believe the matrix gets resized after the import.
Debanjan
0 Kommentare
Akzeptierte Antwort
per isakson
am 4 Okt. 2014
Bearbeitet: per isakson
am 4 Okt. 2014
Try
M(isnan(M))=0;
 
In response to comments:
See the on-line documentation on xlsread. This is copied from one of its example
values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First', 'Second', 'Third'};
xlswrite('myExample.xlsx', [headers; values]);
[ndata, text, alldata] = xlsread('myExample.xlsx')
it returns
ndata =
1 2 3
4 5 NaN
7 8 9
text =
'First' 'Second' 'Third'
'' '' ''
'' '' 'x'
alldata =
'First' 'Second' 'Third'
[ 1] [ 2] [ 3]
[ 4] [ 5] 'x'
[ 7] [ 8] [ 9]
You are right ndata doesn't include the "header-rows", alldata does.
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Language Support finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!