How can I center a matrix containing NaN values?

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
Image Analyst
Image Analyst il 30 Ott 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 il 30 Ott 2013
ex:
X = [ NaN NaN NaN | 6 4 2 | NaN 4 NaN ]
want:
xctr = [ NaN NaN NaN | 2 0 -2 | NaN 0 NaN ]

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by