Selecting multiple data ranges

13 views (last 30 days)
Binu on 15 Dec 2020
Commented: Binu on 15 Dec 2020
Hi,
This may be a simple thing, but I canot figure it out. This is simply something what I want to do ;
A1=(1:100)';
A2=(101:200)';
A3=[A1(1):A2(1),A1(2):A2(2),A1(3):A2(3),A1(4):A2(4), .............., A1(12):A2(12)]';
Is there any easy way to get this done rather than writing the long line with all 1 to 12 elements?
Thank you

Matt Gaidica on 15 Dec 2020
Edited: Matt Gaidica on 15 Dec 2020
Do you need A1 and A2?
A3 = repmat(1:100,12,1) + transpose(repmat(0:11,100,1));
or
A3 = bsxfun(@plus,0:11,transpose(1:100));
Binu on 15 Dec 2020
Hi Matt,
I think my previous question was not very clear to get an answer in a way that I need.
If I put the numbers here....
A1=16745, 106274, 118049, 121015, 134331, 232569, 320928, 389473, 426957, 457992, 463514, 474278
A2=19343, 107752, 118528, 121693, 134349, 233340, 321452, 390241, 427364, 459020, 466512, 474401
So each pair (A1(1) : A2(1) ) represents a data range.
A3=[A1(1):A2(1),A1(2):A2(2),A1(3):A2(3),A1(4):A2(4), .............., A1(12):A2(12)]';
Is there any easy way to get A3 done rather than writing the long line with all 1 to 12 elements of A1 and A2?