Вопрос индексации матрицы в Matlab

Возможный дубликат:
Кто-нибудь может объяснить этот пример удаления элементов из матрицы в MATLAB?

у меня проблемы с матлабом и пожалуйста помогите мне предположить что у нас есть эти матрицы

X =

16 2 13
5 11 8
9 7 12
4 14 1

я хочу понять как эта команда удаляет элементы из этих матриц и что будет в результате

X(2:2:10) = []

большое спасибо, я добавляю также результат этой команды

16 9 2 7 13 12 1

а мне непонятно


person dato datuashvili    schedule 28.03.2011    source источник
comment
Это точный дубликат вплоть до матрицы примеров: Может ли кто-нибудь объяснить этот пример удаления элементов из матрицы в MATLAB? Откуда взялся этот пример, если вы не против моего вопроса?   -  person gnovice    schedule 28.03.2011


Ответы (2)


Когда вы указываете только один индекс (2:2:10), Matlab обрабатывает как в индексе все записи, упорядоченные по каждой строке, а затем по столбцу. Таким образом, вы удаляете 2-ю запись (строка 2, столбец 1), 4-ю (строка 4, столбец 1), 6-ю (строка 2, столбец 2), 8-ю (строка 4, столбец 2) запись, а затем 10-ю (строка 4, столбец 2). 2 столбец 3) элемент.

Чтобы было предельно ясно, если вы скажете X(1:5), вы получите обратно [16, 5, 9, 4, 2].

person MatlabSorter    schedule 28.03.2011

он начнется с позиции 2 и будет продвигаться с шагом 2 до 10 (2, 4, 6, 8, 10). И каждый раз удаляет элемент из рассчитанного местоположения (2, 4, 6, 8, 10).

person Sarfraz Ahmed    schedule 28.03.2011
comment
да, но 2 - это номер строки или номер простого элемента? - - person dato datuashvili; 28.03.2011
comment
Я не подтверждал, так как в то время у меня не было доступа к моему матлабу... Я думаю, что это позиция элемента. вы можете проверить это, просто написав X(2) и нажав Enter. это приведет вас к указанной позиции в матрице. - person Sarfraz Ahmed; 29.03.2011