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
-
Find the sum of the elements in the "second" diagonal
1164 Solvers
-
Back to basics 9 - Indexed References
447 Solvers
-
1052 Solvers
-
Set some matrix elements to zero
567 Solvers
-
Magic is simple (for beginners)
9953 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!