Replace multiple rows by an array

4 views (last 30 days)
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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!