How to add data of 2 vectors with different size

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]

 Respuesta aceptada

Star Strider
Star Strider el 18 de Abr. de 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 comentarios

Jamais avenir
Jamais avenir el 18 de Abr. de 2015
Editada: Jamais avenir el 18 de Abr. de 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 ?
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 18 de Abr. de 2015

Comentada:

el 18 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by