MATLAB: à l'Aide de l'interpolation pour remplacer les valeurs manquantes (NaN)

J'ai matrice de cellules, chacune contenant une séquence de valeurs comme un vecteur ligne. Les séquences contiennent certaines valeurs manquantes représenté par NaN.

Je voudrais remplacer tous les NaNs à l'aide de la méthode d'interpolation, comment je peux faire cela dans MATLAB? Je suis également ouvert à d'autres suggestions sur la façon de traiter avec ces valeurs manquantes.

Considérer cet échantillon de données pour illustrer le problème:

seq = {randn(1,10); randn(1,7); randn(1,8)};
for i=1:numel(seq)
    %# simulate some missing values
    ind = rand( size(seq{i}) ) < 0.2;
    seq{i}(ind) = nan;
end

Les séquences obtenues:

seq{1}
ans =
     -0.50782     -0.32058          NaN      -3.0292     -0.45701       1.2424          NaN      0.93373          NaN    -0.029006
seq{2}
ans =
      0.18245      -1.5651    -0.084539       1.6039     0.098348     0.041374     -0.73417
seq{3}
ans =
          NaN          NaN      0.42639     -0.37281     -0.23645       2.0237      -2.2584       2.2294

Edit:

Sur la base des réponses, je pense qu'il y a eu une confusion: évidemment, je ne suis pas de travail avec des données aléatoires, le code ci-dessus est simplement un exemple de la façon dont les données sont structurées.

Les données réelles est une certaine forme de signaux traités. Le problème est que lors de l'analyse, ma solution serait un échec si les séquences contiennent des valeurs manquantes, d'où la nécessité pour le filtrage d'interpolation (je l'ai déjà envisagé d'utiliser la moyenne de chaque séquence pour remplir les espaces vides, mais je suis l'espoir pour quelque chose de plus puissant)

Dans votre exemple, je pense que vous auriez du mal à trouver un moyen pour interpoler les valeurs manquantes. Interpolation nécessite qu'il y ait une sorte de relations entre les données. Souvent, cela peut-être qu'ils sont issus d'une série chronologique (donc une bonne estimation est que la partie manquante peut être déduit à partir de la proximité de points). Dans votre exemple, les données que vous êtes en essayant de deviner un "coin flip" basé uniquement sur l'autre coin-flips. Si vous pouvez nous donner plus d'info à propos de votre exemple, nous pouvons aider plus.
Je pense qu'il était juste à l'aide de données aléatoires comme un exemple pour les gens à jouer avec.

OriginalL'auteur Dave | 2010-09-02