How to fill the remaining "N" number of rows, of an already populated vector, with zeros

It may be confusing, so let me explain. The "GV" data I provided has values in it. It is size (18,001 x 1). I want the to fill the remaining "N" number of rows with zeros. So it may be a (20,000 x 1) or perhaps a (30,000 x 1) vector, but still with the first 18,001 rows filled with the "GV" values. How to do this??
Thank you in advance!

 Accepted Answer

Here is an example. 1) Let's first make a random vector of the size you have specified and 2) fill the vector with zeros so that it reaches 20000 rows.
GV=rand(18001,1);
GV(end+1:20000)=0;

3 Comments

That overwrites row 18001...need end+1:Ntotal
A very good point. Thank you guys for your help!
Thank you dpb. The code was modified. I apologise for any inconveniences.

Sign in to comment.

More Answers (2)

% ... Compute GV
GV(20000)=0 % if you are sure 20000>length(GV), if not protect with IF
Alternatively, and perhaps more efficient depending upon how GV is generated/obtained...
GV(Ntotal,1)=0; % preallocate (could also write zeros(Ntotal,1) )
GV(1:N)=GVcalculation(1:N); % put the calculation results in first N locations
Which way is more effective depends on the details we don't know...

Products

Release

R2016b

Asked:

on 18 Sep 2018

Commented:

MF
on 19 Sep 2018

Community Treasure Hunt

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

Start Hunting!