edit-selecting random values

2 Ansichten (letzte 30 Tage)
kash
kash am 12 Jan. 2012
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

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 12 Jan. 2012
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 Kommentare
kash
kash am 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 am 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))

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 13 Jan. 2012
It looks to me as if the answer should just be
p = randperm(size(A,1));
out = A(p(1:3),:);
  1 Kommentar
kash
kash am 13 Jan. 2012
thanks walter ,this is answer am looking for

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by