У меня есть матрица 10X3, и я хочу создать новую матрицу, используя только подмножество каждого столбца, но я хочу, чтобы подмножество было различным для каждого столбца на основе массива индексов и определенного диапазона от этой точки.Matlab: Как я могу менять столбцы независимо в матрице?
Например, если матрица (число не будет на самом деле идти в такой линейной моде, когда я делаю это):
A = ...
[1 11 21
2 12 22
3 13 23
4 14 24
5 15 25
6 16 26
7 17 27
8 18 28
9 19 29
10 20 30]
и массив индекса pos = [5,16,24]
с разбросом +/-3 (так 3 клетки по обе стороны каждой индексированной ячейки), то я хочу, чтобы новая матрица будет:
2 13 21
3 14 22
4 15 23
5 16 24
6 17 25
7 18 26
8 19 27
таким образом, в новой матрице все значения, на которые ссылается массив индекса должен выстраиваться.
Я на самом деле делаю это с гораздо большими матрицами (до 400X100), поэтому я не уверен, что петли будут хорошей идеей ....
Спасибо за любые идеи!
Если это не будет 'поз + Shift + 1' и' сдвиг * 2 + 1 '? Я попробовал то, что вы разместили, и нижняя строка результата отсутствовала. – Dan455
@ Dan455 Определенно правильно! – Oleg
Теперь подождите, если вы попытаетесь получить какой-либо элемент из нижней строки ... – Dan455