Problem 2012. Tony's trick for duplicating an mx1 vector n times
Without using repmat, or for loop, or concatenation, create a function to duplicate a vector, v, a specified number of times, n. v can be numeric or character. n may be 0.
Examples
If
v = 5; n = 3;
then return v1:
v1 = [5 5 5]
If a 2d matrix is supplied then the vector v will be the first column.
V = magic(4); n = 4;
then v and v1 are returned as shown below.
v = [16 5 9 4]' v1 = [16 16 16 16; 5 5 5 5; 9 9 9 9; 4 4 4 4]
Hint: use indexing
Solution Stats
Problem Comments
-
2 Comments
When did the functionality of linspace change to give an empty 1-by-0 matrix for n=0? My version is very old (R14, SP3 from 2005), and the command "linspace(1,1,0)" gives 1. Just curious.
hi - not sure, but it is similar in behaviour to ones(1,0), nan(1,0) etc
Solution Comments
Show commentsProblem Recent Solvers52
Suggested Problems
-
4213 Solvers
-
Back to basics 22 - Rotate a matrix
887 Solvers
-
"Low : High - Low : High - Turn around " -- Create a subindices vector
526 Solvers
-
596 Solvers
-
convert matrix to single column
395 Solvers
More from this Author11
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!