Replace multiple rows by an array

1 Ansicht (letzte 30 Tage)
Damith
Damith am 15 Jun. 2016
Kommentiert: nvmnghia am 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.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 15 Jun. 2016
Bearbeitet: Azzi Abdelmalek am 15 Jun. 2016
c(logical(index),:)=repmat(Q,sum(index),1)
  2 Kommentare
Damith
Damith am 15 Jun. 2016
Thanks.
nvmnghia
nvmnghia am 3 Mai 2020
Does repmat actually repeat Q sum(index) times in this case?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by