So you want to take 5001 values and generate 25005 (5001 times 5) values using those values. How do you want to generate the additional 20004 values?
Make duplicate copies?
Offset the copies by a certain amount? This approach uses implicit expansion; if you're using an older release you could use bsxfun.
Pad with 0 values or with random data?
y = [x, zeros(size(x, 1), 5)]
z = [x, rand(size(x, 1), 5)]
w = [x, randi([7 11], size(x, 1), 5)]
Something else? If so, please explain in detail how you want to generate the additional values.