Remove random columns from a big matrix?

4 次查看(过去 30 天)
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!!

采纳的回答

Adam Danz
Adam Danz 2019-8-6
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));
% ^

更多回答(1 个)

madhan ravi
madhan ravi 2019-8-6
B(:,randperm(size(A,2),3000))=[]

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by