How do I reverse the order of a vector?
Afficher commentaires plus anciens
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..
Réponses (9)
Andreas Goser
le 9 Fév 2011
4 votes
1 commentaire
Ana Isabel Fernandez Sirgo
le 5 Nov 2020
thank you!
Jan
le 9 Fév 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 commentaires
Walter Roberson
le 9 Fév 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
le 9 Fév 2011
I think this is more prone to errors and confuses beginners.
Walter Roberson
le 10 Fév 2011
I think of it as a way of differentiating between those who learn and those who copy without understanding.
Jim Dowd
le 10 Fév 2011
Funny stuff Jan Simon!
Matt Fig
le 10 Fév 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 commentaire
Walter Roberson
le 10 Fév 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!
Walter Roberson
le 9 Fév 2011
1 vote
t = (0:2:6).'; P = [t, t+1, 7-t, 6-t];
1 commentaire
Andrew Newell
le 10 Fév 2011
That told him!
Matt Fig
le 10 Fév 2011
Or, a one liner:
reshape(permute(reshape([0:7 7:-1:0],2,4,2),[2,1,3]),4,4)
Walter Roberson
le 9 Fév 2011
t = (0:2:6).';
trev = t(length(t):-1:1);
P = [t, t+1, trev+1, trev];
Walter Roberson
le 9 Fév 2011
t = (0:2:6).'
trev = zeros(size(t));
trev(end:-1:1) = t;
P = [t, t+1, trev+1, trev];
Walter Roberson
le 9 Fév 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
le 6 Déc 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
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!