using Repmat function , obtain repeated specific values

1 view (last 30 days)
z =[ 93 691 275 142 3 12]
n=6
for i=1:n
a=[1:n]'
b(i)=repmat(a(i),z(i),1)
end
I want to obtain repeated values of a in the matrix b but a(1) should be repeated in z(1) times, and a(2) should be repeated z(2) times. Above code just gived this:
b =
6
6
6
6
6
6
6
6
6
6
6
6
>>

Accepted Answer

Steven Lord
Steven Lord on 12 May 2022
Use repelem.
a = [1 2 3 4]
a = 1×4
1 2 3 4
b = a.^2
b = 1×4
1 4 9 16
c = repelem(b, a)
c = 1×10
1 4 4 9 9 9 16 16 16 16

More Answers (0)

Community Treasure Hunt

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

Start Hunting!