2016-03-11 2 views
0

У меня есть массив ячеек 15174x21 с различными измерениями по временному ряду (как показано ниже) в каждом столбце, который содержит значения NaN. Будет ли я лучше всего подходит с использованием цикла For Loop для каждого столбца, чтобы интерполировать значения NaN, но сохранить размеры массива?1-я интерполяция массива ячеек с данными временных рядов

93.36 93.36 9.3218 23.03 14.0967 22.0596 6.66088 24.3851 
93.4 93.4 9.31331 23.0291 14.0115 21.9569 NaN  NaN 
93.44 93.44 9.32774 23.0266 14.1254 22.1864 6.6727 24.4036 
93.48 93.48 9.32612 23.0336 14.1612 22.1168 6.40944 24.3949 
93.52 93.52 9.32374 23.0362 14.0691 22.1711 NaN  NaN 
93.56 93.56 9.31864 23.0342 14.1201 22.1799 6.15716 24.2267 

Благодаря

+2

Ответ: ** Нет **. –

+0

Если это полностью числовая матрица, почему вы хотите представить это как массив ячеек? Почему бы вам не изменить это на числовую матрицу и использовать 'interp1', применяемые к столбцам одновременно везде, где встречается« NaN »? Здесь '' for' цикл определенно не требуется. – rayryeng

+0

@rayryeng Спасибо за ваш ответ здесь. Я пробовал это с помощью числового массива, но я не могу сохранить размеры, вместо этого это один вектор строки, который создается. –

ответ

0

Если вы просто хотите, чтобы интерполировать на основе значений до и после NaN-значения; вы можете найти индекс каждого значения NaN и изменить его на основе значений, исходящих и превышающих это значение. См. Пример ниже:

[r, c] = find(isnan(cell2mat(TimedEditNumbersWS3))); 
for i = 1:length(r) 
    if r(i) == 1 
     k = 1; 
     while isnan(TimedEditNumbersWS3{r(i)+k,c(i)}) 
      k = k + 1; 
     end 
     TimedEditNumbersWS3(r(i),c(i)) = TimedEditNumbersWS3(r(i)+k,c(i)); 
    else 
    TimedEditNumbersWS3(r(i),c(i)) = {(TimedEditNumbersWS3{r(i)-1,c(i)} + TimedEditNumbersWS3{r(i)+1,c(i)})/2}; 
    end 
end 
+0

Спасибо за ваш ответ здесь. Я попробовал вариант вашего кода, но получил ошибку «Индексы индексов должны быть либо реальными целыми положительными целями, либо логическими» –

+0

Есть ли какие-либо условия, чтобы я мог удержать ваш точный массив ячеек? Или вы могли бы объяснить его формат. Является ли каждый элемент его собственной ячейки или каждого столбца в ячейке? – JCKaz

+0

Еще раз спасибо за ваше время. Вот ссылка на данные. http://www.filedropper.com/po1r2 –

Смежные вопросы