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

1 Stimme

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 11 Mär. 2015
Thank you Jan Simon
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.
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

1 Stimme

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

1 Stimme

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

0 Stimmen

x = [2 5 3 6 1];
y = x(ceil((1:4*numel(x))/4));

3 Kommentare

Nikhil Chourasia
Nikhil Chourasia am 11 Mär. 2015
Thank You Andrei Bobrov
Nikhil Chourasia
Nikhil Chourasia am 13 Mär. 2015
Hi Andrei Bobrov can you help me to regain x from y
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