edit-selecting random values

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

 Accepted Answer

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 Comments

andrei i get error
Error using ==> randperm
Too many input arguments.
Error in ==> Untitled2 at 7
p = m(randperm(numel(m),1));
corrected
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.
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
two last rows of my code
p = m(I(1:n(1)));
out = A(p,ceil(p(1)/s(1))+(0:n(2)-1))

Sign in to comment.

More Answers (1)

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

1 Comment

thanks walter ,this is answer am looking for

Sign in to comment.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!