Extending a vectors length with zeros
Mostrar comentarios más antiguos
Good Afternoon,
I'm trying to extend the length of a vector, say it is 1x3 double. and I want it to be the same length as another vector which is say 1x8 double. I would like to pad it out with zeros but I do not have the image processor application. Is there a simple way to do this?
Thanks you for any help and time you have to spare!
Respuestas (2)
Jan
el 13 de Oct. de 2015
x = rand(1, 3);
y = rand(1, 8);
x(length(y)) = 0;
This fills all elements from length(x)+1 to length(y) with zeros.
1 comentario
Tongyao Pu
el 17 de Oct. de 2019
Editada: Tongyao Pu
el 17 de Oct. de 2019
Ed: I tried again and it works. I think the concept of your code is a bit different.
x(length(y)) = 0;
This only assigns the last number to 0. But because it extended the length of x, matlab assign all the other positions to 0.
For example, if I try;
X(length(y)) = NaN;
It only assigns the last number to NaN. If I want to extend the length of x with NaNs, I need to write:
x(length(x)+1:length(y)) = NaN;
Anyway, thank you for your answer, it inspires me a lot!
Hi, that’s a brilliant solution, but is there a way to store it in a new variable? I copied the variable again
x2 = x;
but was wondering if there is a more direct way?
Also, instead of assign it to 0, can I assign it to NaN (I tried the same code but it still turns out to be 0s)?
Thanks
Manolis Michailidis
el 13 de Oct. de 2015
Editada: Manolis Michailidis
el 13 de Oct. de 2015
Lets assume x(1x3) and y(1x8)
Padd=[x,zeros(1,length(y)-length(x))];
2 comentarios
Chameleon17
el 13 de Oct. de 2015
Editada: Chameleon17
el 13 de Oct. de 2015
Manolis Michailidis
el 13 de Oct. de 2015
If it helped please accept the answer
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!