Remove random columns from a big matrix?

1 visualización (últimos 30 días)
stelios loizidis
stelios loizidis el 6 de Ag. de 2019
Comentada: Adam Danz el 6 de Ag. de 2019
Hello,
I have this issue: I want to randomly remove 3000 columns from a big matrix with size 1600X8500. below I have a code I wrote but when I run it the matlab outputs the following error: Index exceeds the number of array elements (1650)
A=[x1 x2 ...] % 1600by8500 matrix
k=randperm(size(A,1));
B=A;
B(:,k(1:3000))=[];
Your help is important!!

Respuesta aceptada

Adam Danz
Adam Danz el 6 de Ag. de 2019
If A is 1600 x 8500 as you describe, then the line below will only create 1600 elements so you can't use an index of 1:3000.
k=randperm(size(A,1));
Instead, you want to use the 2nd dimension of A
k=randperm(size(A,2));
% ^
  2 comentarios
stelios loizidis
stelios loizidis el 6 de Ag. de 2019
I tried it and it works fine. Thank you very much!!!!!
Adam Danz
Adam Danz el 6 de Ag. de 2019
Glad I could help!

Iniciar sesión para comentar.

Más respuestas (1)

madhan ravi
madhan ravi el 6 de Ag. de 2019
B(:,randperm(size(A,2),3000))=[]

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by