Replace multiple rows by an array

2 views (last 30 days)
Damith
Damith on 15 Jun 2016
Commented: nvmnghia on 3 May 2020
Hi,
I need to replace multiple rows of a matrix by one array. For example,
c=[1 3 5 2 0]
5 2 9 1 4
2 1 0 6 7
1 2 3 4 5]
index=[0
1
0
1];
Q=[9 8 6 2 1]
Output should look this this:
c=[1 3 5 2 0]
9 8 6 2 1
2 1 0 6 7
9 8 6 2 1]
Any help is appreciated. Thanks in advance.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 15 Jun 2016
Edited: Azzi Abdelmalek on 15 Jun 2016
c(logical(index),:)=repmat(Q,sum(index),1)
  2 Comments
nvmnghia
nvmnghia on 3 May 2020
Does repmat actually repeat Q sum(index) times in this case?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!