Indice les indices doivent être soit réel des entiers positifs ou partitions logiques contenues erreur avec une moyenne de fonction dans matlab

J'ai un géant de données de tableau où chaque ligne je veux extraire des colonnes spécifiques, puis en moyenne les chiffres que j'ai extrait. C'est mon code:

for i=1:1000
    temp=data(i,:);
    index_data=temp([1,10,11,12,19]); %columns I want to extract
    data_final(i,1)=mean(index_data(~isnan(index_data)));
end

J'obtiens une erreur à la première itération. Le tableau qui en est extrait est

[NaN NaN NaN NaN 15.64]

Et ce que je reçois quand je tape index_data(~isnan(index_data)) est 15.64, ce que je m'attendrais. Cependant, j'obtiens une erreur de

??? Subscript indices must either be real positive integers or logicals.
Error in ==> mean(index_data(~isnan(index_data)))

De l'appel de ce à partir de la ligne de commande donne la même erreur. Cependant, si j'essaie avec la fonction de covariance (cov) je ne l'obtiens le message d'erreur. Cela semble vraiment bizarre pour moi!

Merci pour votre aide!

OriginalL'auteur user899638 | 2011-08-17