Selecting multiple data ranges

1 Ansicht (letzte 30 Tage)
Binu
Binu am 15 Dez. 2020
Kommentiert: Binu am 15 Dez. 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?
Appreciate your help
Thank you

Antworten (1)

Matt Gaidica
Matt Gaidica am 15 Dez. 2020
Bearbeitet: Matt Gaidica am 15 Dez. 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));
  1 Kommentar
Binu
Binu am 15 Dez. 2020
Hi Matt,
Thank you for the reply.
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?
Appreciate your help
Thank you

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by