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

0 Stimmen

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

Community Treasure Hunt

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

Start Hunting!

Translated by