Replace multiple rows by an array

2 vues (au cours des 30 derniers jours)
Damith
Damith le 15 Juin 2016
Commenté : nvmnghia le 3 Mai 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.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 15 Juin 2016
Modifié(e) : Azzi Abdelmalek le 15 Juin 2016
c(logical(index),:)=repmat(Q,sum(index),1)
  2 commentaires
Damith
Damith le 15 Juin 2016
Thanks.
nvmnghia
nvmnghia le 3 Mai 2020
Does repmat actually repeat Q sum(index) times in this case?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by