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
-
Getting the row and column location from a matrix
282 Solvers
-
Calculate the derivative of a polynomial
223 Solvers
-
Simple equation: Annual salary
4158 Solvers
-
Find the maximum two numbers of every column of a matrix
189 Solvers
-
Area of an equilateral triangle
5828 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!