MATLAB: How to combine 2 for loops

arraycombinefor loop

Hi, I have
id = [ 1 3; 2 6; 3 2; 4 5; 5 1; 6 4; 7 7];
I will get two new_ids by sorting its column,
for col=1:c
new_id{col}=sortrows(id,col);
end
I want to get 2 results from each of the new_id respectively. This means that I will have in total 4 results.
for m=1:2
result{m}=id(m:m+1,:);
end
How can i combine all this? Thank you.

Best Answer

You were not very clear in your explanation, but I think you want this:
id = [ 1 3; 2 6; 3 2; 4 5; 5 1; 6 4; 7 7];
c=size(id,2);%I'm guessing c = NÂș columns in id
result = cell(2); % pre-allocation of 2x2 cell array to hold data
for col=1:c% col=2
new_id{col}=sortrows(id,col);
for m=1:2% m=2
result{m,col}=new_id{col}(m:m+1,:);
end
end
You will end up with a cell array result whose columns contain the result of your first loop