Repeat matrix element of a given matrix

1 Ansicht (letzte 30 Tage)
Nikhil Chourasia
Nikhil Chourasia am 11 Mär. 2015
Kommentiert: Andrei Bobrov am 13 Mär. 2015
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 Kommentar
Jan
Jan am 11 Mär. 2015
This topic is discussed such frequently, that I miss it in the FAQ.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 11 Mär. 2015
Bearbeitet: Jan am 11 Mär. 2015
x = [2 5 3 6 1];
y = reshape(repmat(x, 4, 1), 1, []);
Or:
y = kron(x, ones(1, 4));
  3 Kommentare
Nikhil Chourasia
Nikhil Chourasia am 13 Mär. 2015
Hi Jan Simon can you help me to regain x from y. I have used kron in my coding.
Guillaume
Guillaume am 13 Mär. 2015
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Stephen23
Stephen23 am 11 Mär. 2015
Bearbeitet: Stephen23 am 11 Mär. 2015
Another quick one-liner:
reshape(ones(4,1)*x,1,[])
  2 Kommentare
Nikhil Chourasia
Nikhil Chourasia am 11 Mär. 2015
Thank you Stephen Cobeldick
Nikhil Chourasia
Nikhil Chourasia am 13 Mär. 2015
Hi Stephen Cobeldick can you help me to regain original matrix

Melden Sie sich an, um zu kommentieren.


Guillaume
Guillaume am 11 Mär. 2015
New in 2015a, repelem:
repelem(x, 4)

Andrei Bobrov
Andrei Bobrov am 11 Mär. 2015
x = [2 5 3 6 1];
y = x(ceil((1:4*numel(x))/4));
  3 Kommentare
Nikhil Chourasia
Nikhil Chourasia am 13 Mär. 2015
Hi Andrei Bobrov can you help me to regain x from y
Andrei Bobrov
Andrei Bobrov am 13 Mär. 2015
x = unique(y);

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by