У меня есть гигантский массив данных, в котором в каждой строке я хочу извлечь определенные столбцы, а затем усреднить числа, которые я извлекаю. Это мой код:
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
Я получаю ошибку на первой итерации. Извлеченный массив:
[NaN NaN NaN NaN 15.64]
И что я получу, когда наберу index_data (~ isnan (index_data)), это 15,64, что я и ожидал. Тем не менее, я получаю ошибку
??? Subscript indices must either be real positive integers or logicals.
Error in ==> mean(index_data(~isnan(index_data)))
Вызов этого из командной строки приводит к той же ошибке. Однако, если я пытаюсь использовать ковариационную функцию (cov), я не получаю ошибку. Это кажется мне очень странным!
Спасибо за вашу помощь!