Repeat matrix element of a given matrix

my matrix is x=[2 5 3 6 1]
I want it to make it as y=[2 2 2 2 5 5 5 5 3 3 3 3 6 6 6 6 1 1 1 1]
which function does it?

1 个评论

This topic is discussed such frequently, that I miss it in the FAQ.

请先登录,再进行评论。

 采纳的回答

Jan
Jan 2015-3-11
编辑:Jan 2015-3-11
x = [2 5 3 6 1];
y = reshape(repmat(x, 4, 1), 1, []);
Or:
y = kron(x, ones(1, 4));

3 个评论

Hi Jan Simon can you help me to regain x from y. I have used kron in my coding.
That would be
x = y(1:4:end);
This is basic matrix indexing.
In the future, start a new question rather than asking in comments.

请先登录,再进行评论。

更多回答(3 个)

Another quick one-liner:
reshape(ones(4,1)*x,1,[])

2 个评论

Thank you Stephen Cobeldick
Hi Stephen Cobeldick can you help me to regain original matrix

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by