Extending a vectors length with zeros
41 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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!
0 Commenti
Risposte (2)
Jan
il 13 Ott 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 Commento
Tongyao Pu
il 17 Ott 2019
Modificato: Tongyao Pu
il 17 Ott 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
il 13 Ott 2015
Modificato: Manolis Michailidis
il 13 Ott 2015
Lets assume x(1x3) and y(1x8)
Padd=[x,zeros(1,length(y)-length(x))];
2 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!