Effacer les filtres
Effacer les filtres

Convert cell array to double

9 vues (au cours des 30 derniers jours)
Xiao Tang
Xiao Tang le 17 Juil 2012
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
MKVALM2PRSALEM(cellfun(@ischar, MKVALM2PRSALEM)) = {NaN};
ABCDEFGHIJKLM_ = cell2mat(MKVALM2PRSALEM);

Plus de réponses (1)

Walter Roberson
Walter Roberson le 17 Juil 2012
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

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by