Variable for loop storage
    3 views (last 30 days)
  
       Show older comments
    
Hi, I currently have this code which allows the for loop to run based off an array, but I cannot run the same for loop to create a new matrix (the size of the matrix should be the number of loops run). Is there a way I can code for this better? Thank you! 
lowPs = 50 x 1 array [101,105,107....], variable pattern
A is a 170 x 50 matrix
for k = lowPs(1:end)
    B = find(A(:,1) == k)); %%row numbers in A where A(:,1) that contain the integer in lowPs
    low = A(B,:); %% extract these rows from A and build it into a new matrix low, low should be 50 x50
end
0 Comments
Accepted Answer
  madhan ravi
      
      
 on 3 Aug 2020
         low = cell(numel(lowPs), 1);
 for k = 1 : numel(lowPs)
     B = A(:,1) == lowPs(k); %%row numbers in A where A(:,1) that contain the integer in lowPs
     low{k} = A(B, :); %%extract these rows from A and build it into a new matrix low, low should be 50 x50
 end
 low = cat(1, low{:});
0 Comments
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
