How can I center a matrix containing NaN values?

2 vues (au cours des 30 derniers jours)
Patrick
Patrick le 30 Oct 2013
Commenté : Patrick le 30 Oct 2013
I have a matrix of size 72x144. It contains many NaN values, but also contains numeric values. I have been successful in the past at centering matrices containing only numeric values using the following code:
xctr=bsxfun(@minus, x, sum(x)/size(x, 1));
However, this seems to output a matrix with all NaN values, rather than giving me many NaN values, and also the centered numerical values. How can I center the data without turning everything into NaN?
  2 commentaires
Image Analyst
Image Analyst le 30 Oct 2013
What does it mean to "center" a matrix with nan's sprinkled throughout it? Can you give a small example of the input matrix and desired output matrix?
Patrick
Patrick le 30 Oct 2013
ex:
X = [ NaN NaN NaN | 6 4 2 | NaN 4 NaN ]
want:
xctr = [ NaN NaN NaN | 2 0 -2 | NaN 0 NaN ]

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 30 Oct 2013
if you statistic toolbox
xctr=bsxfun(@minus, x, nansum(x)/size(x, 1));

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices 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