Редактирование массива данных в Matlab
Всем доброго дня!
При вычислении дисперсии сигнала в Matlab Simulink столкнулись со следующей задачей:
Имеется массив данных в виде матрицы 10000x2, 10000x3 и т.д., где первый столбец - время с шагом около 0.01 с, второй и следующие столбцы - значения сигнала. В начале (и иногда в конце) сигнал искажен переходным процессом. Хотим это исправить:
1. Удалить верхние строки матрицы - чтобы остались строки, начиная с n-ой (1<n<10000).
2. или удалить верхние строки, которые соответствуют времени от 0 до t.
3. Удалить нижние строки, начиная с m, чтобы матрица стала размером m-1x2 или m-1x3...
Задачи перечислил в порядке убывания важности.
На предыдущем форуме находил решение с обрезкой столбцов, но самостоятельно не смог изменить код: http://matlab.exponenta.ru/forum/matlab-matlab-f1/obrezanie-massiva-t10929.html
Буду благодарен за любую подсказку!
Спасибо!
Ответы
X(100000000,3)
1. X = X(n:10000000,:)
2.
3. X = X(n:m,:)
PS: недавно был тут оформлен что-то типа FAQ где были красочно и кратко расписаны действия с массиывами. Поищите.
FAQ
A=A(n:end,:); % оставить строки в матрице А, начиная с n-ой
A=A(1:m-1,:); % убрать строки в матрице А, начиная с m-ой
Спасибо за ответы!