Remove random columns from a big matrix?

1 Ansicht (letzte 30 Tage)
stelios loizidis
stelios loizidis am 6 Aug. 2019
Kommentiert: Adam Danz am 6 Aug. 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!!

Akzeptierte Antwort

Adam Danz
Adam Danz am 6 Aug. 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 Kommentare
stelios loizidis
stelios loizidis am 6 Aug. 2019
I tried it and it works fine. Thank you very much!!!!!
Adam Danz
Adam Danz am 6 Aug. 2019
Glad I could help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

madhan ravi
madhan ravi am 6 Aug. 2019
B(:,randperm(size(A,2),3000))=[]

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by