I have a 10x10 matrix,i need 3 x10 ,but the corresponging column values must not change
if u r selecting any elememt from ist row that corresponging column values must not change

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 12 Jan 2012

0 votes

EDIT [09:13(UTC+4) 13.01.2012]
A = randi(48,10)
s = size(A);
n = [3 10];
q = reshape(1:numel(A),s(1),[]);
rc = s - n + 1;
m = q(1:rc(1),1:rc(2));
I = randperm(numel(m));
p = m(I(1));
out = A(rem(p-1,s(1))+(1:n(1)),ceil(p/s(1))+(0:n(2)-1))

5 commentaires

kash
kash le 13 Jan 2012
andrei i get error
Error using ==> randperm
Too many input arguments.
Error in ==> Untitled2 at 7
p = m(randperm(numel(m),1));
Andrei Bobrov
Andrei Bobrov le 13 Jan 2012
corrected
Walter Roberson
Walter Roberson le 13 Jan 2012
That code *is* syntactically correct; see http://www.mathworks.com/help/techdoc/ref/randperm.html
p = randperm(n,k) returns a row vector containing k unique integers selected randomly from 1 to n inclusive.
If you receive an error at that line, it suggests that your version of MATLAB predates that facility.
I do not understand andrei's code at the moment, so I cannot say whether that was the syntax he intended to use.
kash
kash le 13 Jan 2012
thanks andrei,i did not get as i desired,ur output is continious 3 rows, but i neeed as distinct values...i.e
for ex first row values
38
10
19
that is i dont need continuous values,please help
Andrei Bobrov
Andrei Bobrov le 13 Jan 2012
two last rows of my code
p = m(I(1:n(1)));
out = A(p,ceil(p(1)/s(1))+(0:n(2)-1))

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 13 Jan 2012

0 votes

It looks to me as if the answer should just be
p = randperm(size(A,1));
out = A(p(1:3),:);

1 commentaire

kash
kash le 13 Jan 2012
thanks walter ,this is answer am looking for

Connectez-vous pour commenter.

Catégories

En savoir plus sur Sparse Matrices dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by