Как перебрать матрицу и получить предыдущий столбец в MATLAB? - PullRequest
2 голосов
/ 09 октября 2011

Я очень новичок в MATLAB и не уверен в этом.У меня есть матрица

matrix = [1 2 3 4;8 9 5 6]; 

Теперь я хочу перебрать столбцы вышеприведенной матрицы и извлечь столбец, предшествующий текущему.Так что, если во время итерации мы находимся в столбце 2, то мы должны извлечь столбец 1.

Может кто-нибудь указать мне правильное направление?Я пытался

for v = matrix 
 disp(v-1) 
end 

, но это не сработало.Любая помощь будет оценена.

1 Ответ

4 голосов
/ 09 октября 2011

Для начала нам нужно выяснить, сколько столбцов в вашей матрице:

m = [1,2,3,4;9,8,5,6]
[rows, cols] = size(m)

Далее мы пройдемся по всем столбцам и распечатаем текущий столбец:

for ii=1:1:cols
   disp('current column: ')
   m(:,ii) % the : selects all rows, and ii selects which column
end 

Если вам нужен предыдущий столбец, а не текущий столбец:

for ii=1:1:cols
   if ii == 1
      disp('first column has no previous!')
   else
       disp('previous column: ')
       m(:,ii-1) % the : selects all rows, and ii selects columns
   end
end 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...