Переместить набор из N строк в другой столбец в MATLAB - PullRequest
1 голос
/ 23 февраля 2012

Возможно ли вместо того, чтобы скопировать набор из N строк из столбца в другой столбец, могу ли я переместить его.

Это мой код для "копирования" строк в другой столбец.

numberofPdbs(1:235,2) = numberofPdbs(236:end,1);

Мне нужно найти способ переместить их в другой столбец.

Пожалуйста, сообщите.

1 Ответ

1 голос
/ 23 февраля 2012

Перемещение столбца:

%# Columns before destination are shifted back.
%# Matrix size unchanged.
data = rand(100);
desiredCol = 5;
destinationCol = 15;
data = [ data(:,1:desiredCol-1) ...
         data(:,desiredCol+1:destinationCol) ...
         data(:,desiredCol) ...
         data(:,destinationCol+1:end) ];

Замена двух столбцов:

%# Matrix size unchanged.
temp = data(:,destinationCol);
data(:,destinationCol) = data(:,desiredCol);
data(:,desiredCol) = temp;

Перемещение с перезаписью:

%# Destination is not preserved.
%# Matrix size decreases by 1.
data(:,destinationCol) = data(:,desiredCol);
data(:,desiredCol) = [];
...