Replace multiple rows by an array

1 visualizzazione (ultimi 30 giorni)
Damith
Damith il 15 Giu 2016
Commentato: nvmnghia il 3 Mag 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.

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.
nvmnghia
nvmnghia il 3 Mag 2020
Does repmat actually repeat Q sum(index) times in this case?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by