How to add data of 2 vectors with different size

8 views (last 30 days)
Hi
I have 2 vectors and I want to merge them directly. A=[1;2;3;4;5] and B=zeros(17,1) where, elements of A are going to these indices [4 5 7 11 13];
A_new=[0;0;0;1;2;0;3;0;0;0;4;0;5;0;0;0;0]

Accepted Answer

Star Strider
Star Strider on 18 Apr 2015
One way:
B = zeros(17,1);
A = [1;2;3;4;5];
I = [4 5 7 11 13];
A_new = B;
A_new(I) = A;
  2 Comments
Jamais avenir
Jamais avenir on 18 Apr 2015
Edited: Jamais avenir on 18 Apr 2015
Thanks, But I want to add them directly, for example like solving this case: If I had :
aa = [1 2 3 4]; bb = [100 100]; and wanted to get this result:
cc = [101 102 3 4]
The answer could be :
cc = aa + [bb zeros(1,2)];
Is there any similar answer ?
Star Strider
Star Strider on 18 Apr 2015
That isn’t the same as in your original Question.
You have to address them by the appropriate subscripts, and it works:
aa = [1 2 3 4];
bb = [100 100];
cc = aa;
cc(1:2) = cc(1:2) + bb;
There may be other ways, but that’s the most efficient.

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!