Replace multiple rows by an array

2 visualizaciones (últimos 30 días)
Damith
Damith el 15 de Jun. de 2016
Comentada: nvmnghia el 3 de Mayo de 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.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 15 de Jun. de 2016
Editada: Azzi Abdelmalek el 15 de Jun. de 2016
c(logical(index),:)=repmat(Q,sum(index),1)
  2 comentarios
Damith
Damith el 15 de Jun. de 2016
Thanks.
nvmnghia
nvmnghia el 3 de Mayo de 2020
Does repmat actually repeat Q sum(index) times in this case?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by