Replace multiple rows by an array

3 visualizzazioni (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)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by