flip a matrix using loops

hi,
im tring to flip a matrix usind withot the flip function
for ex:
[1 3 -2; -4 4 8; 7 -1 3] will cange to [7 -1 3; -4 4 8; 1 3 -2]
my script is
outFlip(i,:)= inMatrix(size(inMatrix,1)+1-i,:);

回答(2 个)

Jan
Jan 2018-12-9
编辑:Jan 2018-12-9
Your line is correct already. Only the loop is missing:
n = size(matrix, 1);
for k = 1:n
outFlip(k,:) = inMatrix(n - k + 1, :);
end
Without the loop:
n = size(matrix, 1);
outFlip = inMatrix(n:-1:1, :);
matrix=randi([0,4],2);
outFlip=zeros(size(matrix,1),size(matrix,2));
for i= 1:size(matrix,1)
for j=1:size(matrix,2)
outFlip(j,i)=matrix(i,j); % just swap the indices
end
end

2 个评论

no, i mean:
[1 3 -2; -4 4 8; 7 -1 3] will cange to [7 -1 3; -4 4 8; 1 3 -2]
ok then:
matrix=[1 3 -2; -4 4 8; 7 -1 3];
ctr=1;
outFlip=zeros(size(matrix,1),size(matrix,2));
for i=size(matrix,1):-1:1
outFlip(i,:)=matrix(ctr,:); % just swap the indices
ctr=ctr+1;
end
outFlip

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by