MATLAB Answers

running a code on all columns

14 views (last 30 days)
DARLINGTON ETAJE
DARLINGTON ETAJE on 14 Aug 2019
Edited: KSSV on 14 Aug 2019
Consider, Y is a 1000 by 100 matrix...100 columns and 1000 rows
Y1=Y(:,1);
if I run this code
S1 = numel(Y1);
xx1 = reshape(Y1(1:S1 - mod(S1, 20)), 20, []);
if I run this code
xx1 is a 20 by 50 matrix
What code can I use to do the same thing for the remaining 99 columns of Y

Accepted Answer

KSSV
KSSV on 14 Aug 2019
Edited: KSSV on 14 Aug 2019
Y = rand(1000,100) ;
iwant = zeros(20,50,100) ;
for i = 1:100
Y1 = Y(:,i) ;
S1 = numel(Y1); % this is same always 1000
iwant(:,:,i) = reshape(Y1(1:S1 - mod(S1, 20)), 20, []);
end
With out loop
% no loop
m = 1000 ;
n = mod(m,20) ;
P = Y(1:m-n,:) ;
Q = reshape(P,20,50,[]) ;
  3 Comments
KSSV
KSSV on 14 Aug 2019
If you want same to repeat for every column ..you can run a loop...but there are options to avoid looping.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!