Replace multiple rows by an array

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.

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 15 Giu 2016
Modificato: Azzi Abdelmalek il 15 Giu 2016
c(logical(index),:)=repmat(Q,sum(index),1)

2 Commenti

Damith
Damith il 15 Giu 2016
Thanks.
Does repmat actually repeat Q sum(index) times in this case?

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by