Add a number(specific column) to vector without deleteing it.

1 visualización (últimos 30 días)
fyza affandi
fyza affandi el 29 de Nov. de 2018
Comentada: fyza affandi el 29 de Nov. de 2018
I have an vector
a= [1 2 3 4 5 6 7 8]
How can I add 2.5 into the vector a at any location( in this example I want it to be at column2)
so that the result will be:-
p/s: not replace , the length increases
a= [1 2.5 2 3 4 5 6 7 8]

Respuesta aceptada

KSSV
KSSV el 29 de Nov. de 2018
Editada: KSSV el 29 de Nov. de 2018
a= [1 2 3 4 5 6 7 8] ;
b = 2.5 ; % number to insert
pos = 2 ; % position at which number to be inserted
b = [a(1:pos-1) b a(pos:end)]

Más respuestas (2)

dpb
dpb el 29 de Nov. de 2018
One of many possible ways...
insertat=2;
val=2.5;
a=[a(1:insertat-1) val a(insertat:end)];
The key is to not store into the new array until the construction is done so don't change locations of expression RHS of assignment statement.

madhan ravi
madhan ravi el 29 de Nov. de 2018
Editada: madhan ravi el 29 de Nov. de 2018
Another possibility:
a=1:8;
b=zeros(1,numel(a)+1);
insert_position=2;
b(insert_position)=2.5;
b([1 insert_position+1:end])=a(:)

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by