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

 采纳的回答

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 个评论

andrei i get error
Error using ==> randperm
Too many input arguments.
Error in ==> Untitled2 at 7
p = m(randperm(numel(m),1));
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))

请先登录,再进行评论。

更多回答(1 个)

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

类别

帮助中心File Exchange 中查找有关 Sparse Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by