Сначала я предполагаю, что ваш вектор A организован с NaN в начале и в конце и непрерывным набором чисел в середине, как в
A = [NaN ... NaN, contiguous numeric data, NaN ... NaN]
Во-первых, я предлагаю найти числовые данные и работать оттуда, как, например,
flagNumeric = ~isnan(A);
Теперь flagNumeric будет true для числовых записей и false для NaN's .
Итак, первая цифра будет в
firstIndex = find(flagNumeric,1,'first');
и последний номер в
lastIndex = find(flagNumeric,1,'last');
Затем вы можете использовать firstIndex и lastIndex , чтобы изменить первые и последние числовые данные на NaN
A(firstIndex:firstIndex+1) = NaN;
A(lastIndex-1:lastIndex) = NaN;