How do I reverse the order of a vector?

Generate a 4x4 matrix P, whose first column is an array of 0, 2, 4 and 6; second column is an array of 1, 3, 5, and 7; third is the second column in reverse order and fourth column is the first column in reverse order. I want to use Reverse function or something like that..

Respuestas (9)

Andreas Goser
Andreas Goser el 9 de Feb. de 2011

4 votos

I think you are looking for commands like flipud and fliplr, right?
Jan
Jan el 9 de Feb. de 2011
It would be an inefficient idea to use a function to create a 4x4 matrix with fixed values!
P = [0, 1, 7, 6; ...
2, 3, 5, 4; ...
4, 5, 3, 2; ...
6, 7, 1, 0];
Now this homework is solved. Kind regards to your teacher.

4 comentarios

Walter Roberson
Walter Roberson el 9 de Feb. de 2011
That can be expressed more simply:
P = [0 1 7 6
2 3 5 4
4 5 3 2
6 7 1 0];
Jan
Jan el 9 de Feb. de 2011
I think this is more prone to errors and confuses beginners.
Walter Roberson
Walter Roberson el 10 de Feb. de 2011
I think of it as a way of differentiating between those who learn and those who copy without understanding.
Jim Dowd
Jim Dowd el 10 de Feb. de 2011
Funny stuff Jan Simon!

Iniciar sesión para comentar.

Matt Fig
Matt Fig el 10 de Feb. de 2011
Walter, I am shocked that you didn't include the obvious nested FOR loop.
cnt = 0;
for ii = 1:2,
for jj = 1:4
A(4-jj+1,4-ii+1) = cnt;
A(jj,ii) = cnt;
cnt = cnt + 2;
end
cnt = 1;
end

1 comentario

Walter Roberson
Walter Roberson el 10 de Feb. de 2011
I was working on fitting it to a 100'th order polynomial, but discovered that any order beyond 23 gives absolutely completely wrong answers!

Iniciar sesión para comentar.

Walter Roberson
Walter Roberson el 9 de Feb. de 2011

1 voto

t = (0:2:6).'; P = [t, t+1, 7-t, 6-t];
Matt Fig
Matt Fig el 10 de Feb. de 2011
Or, a one liner:
reshape(permute(reshape([0:7 7:-1:0],2,4,2),[2,1,3]),4,4)
Walter Roberson
Walter Roberson el 9 de Feb. de 2011
t = (0:2:6).';
trev = t(length(t):-1:1);
P = [t, t+1, trev+1, trev];
Walter Roberson
Walter Roberson el 9 de Feb. de 2011
t = (0:2:6).'
trev = zeros(size(t));
trev(end:-1:1) = t;
P = [t, t+1, trev+1, trev];
Walter Roberson
Walter Roberson el 9 de Feb. de 2011
for K = 1 : 4
t(K) = 2*(K - 1);
end
for K = 1:length(t)
trev(K) = t(end+1-K);
end
etc.
Padala Bhaskara Rao
Padala Bhaskara Rao el 6 de Dic. de 2018
clc;
clear all;
close all;
x=zeros(4,4);
x(:,1)=[1 2 -1 -2];
l=length(x);
x(:,2)=[1 3 -1 -3];
k=1;
for i=3:4
for j=1:4
x(j,i)=x(l+1-j,k);
end
k=k+1;
end

Categorías

Productos

Preguntada:

el 9 de Feb. de 2011

Comentada:

el 5 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by