Convert cell array to double

Hi guys,
I have a variable called MKVALM2PRSALEM came from
[~,~, MKVALM2PRSALEM] = xlsread('C:\Users\X...\199001.xlsx','Sheet1','M3:X502');
Part of the matrix is like,
Notice that there are nulls like '@NA' and '@CF'.
How can I transfer this matrix into double format like the following picture, and keep all nulls like NaN?
When I tried to use str2double(MKVALM2PRSALEM), it returns a all nulls matrix. Actually I want to have the result like
MKVALM2PRSALEM = xlsread('C:\Users\X...\199001.xlsx','Sheet1','M3:X502');
But I can't directly use that syntax because MKVALM2PRSALEM actually comes from a larger cell array.

 Réponse acceptée

Jan
Jan le 17 Juil 2012

0 votes

MKVALM2PRSALEM(cellfun(@ischar, MKVALM2PRSALEM)) = {NaN};
ABCDEFGHIJKLM_ = cell2mat(MKVALM2PRSALEM);

Plus de réponses (1)

Walter Roberson
Walter Roberson le 17 Juil 2012

0 votes

MKVALM2PRSALEM(cellfun(@ischar, MKVALM2PRSALEM)) = {NaN};

1 commentaire

Xiao Tang
Xiao Tang le 17 Juil 2012
Thanks Walter. But the format of MKVALM2PRSALEM is still in cell array, rather than double.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by