merging vectors together with alternating values
55 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I want to merge two vectors like this:
A=[ 1; 2; 3; 4;] B=[5; 6; 7; 8;]
resulting vector
C=[1; 5; 2; 6; 3; 7; 4; 8;]
Thank you
0 Kommentare
Antworten (4)
KALYAN ACHARJYA
am 28 Mai 2019
Bearbeitet: KALYAN ACHARJYA
am 28 Mai 2019
vec=[A B]';
C=vec(:)
>> A=[ 1; 2; 3; 4]
Example:
>> A=[ 1; 2; 3; 4]
A =
1
2
3
4
>> B=[5; 6; 7; 8]
B =
5
6
7
8
>> vec=[A B]'
vec =
1 2 3 4
5 6 7 8
>> C=vec(:)
C =
1
5
2
6
3
7
4
8
>>
0 Kommentare
Star Strider
am 28 Mai 2019
Try this:
A=[1; 2; 3; 4];
B=[5; 6; 7; 8];
C = [A(:) B(:)]';
C = C(:)
producing:
C =
1
5
2
6
3
7
4
8
2 Kommentare
Indrasish Chakraborty
am 19 Aug. 2021
What if the two vectors are of unequal length ?
For example -
A=[2 4 5 7 8]
B=[3 8 0 1]
Then how to get C=[2 3 4 8 5 0 7 1 8] ?
2 Kommentare
shikhar tyagi
am 19 Aug. 2021
A=[1; 0; 3; 4 ;6 ;0];
B=[5; 6; 7 ;0 ;4];
C=cat(1,A,B);
C([1:2:end,2:2:end])=C
I hope this helps
Nils Odenwald
am 2 Sep. 2021
Bearbeitet: Nils Odenwald
am 2 Sep. 2021
I recommend the MATLAB function "reshape", which allows you to change the order of arrays. You can also manipulate different data types such as strings.
Example:
A = [1; 2; 3; 4; 5];
B = [0; 0; 0; 0; 0];
result = reshape([A B]',[],1)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!