Variable for loop storage

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

采纳的回答

madhan ravi
madhan ravi 2020-8-3
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{:});

更多回答(1 个)

madhan ravi
madhan ravi 2020-8-3
low = A(lowPs, :)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by