Repeat matrix element of a given matrix

1 次查看(过去 30 天)
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?

采纳的回答

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 个评论
Nikhil Chourasia
Nikhil Chourasia 2015-3-13
Hi Jan Simon can you help me to regain x from y. I have used kron in my coding.
Guillaume
Guillaume 2015-3-13
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 个)

Stephen23
Stephen23 2015-3-11
编辑:Stephen23 2015-3-11
Another quick one-liner:
reshape(ones(4,1)*x,1,[])

Guillaume
Guillaume 2015-3-11
New in 2015a, repelem:
repelem(x, 4)

Andrei Bobrov
Andrei Bobrov 2015-3-11
x = [2 5 3 6 1];
y = x(ceil((1:4*numel(x))/4));

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by