Replace multiple rows by an array

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.

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 6 月 15 日
編集済み: Azzi Abdelmalek 2016 年 6 月 15 日

0 投票

c(logical(index),:)=repmat(Q,sum(index),1)

2 件のコメント

Damith
Damith 2016 年 6 月 15 日
Thanks.
nvmnghia
nvmnghia 2020 年 5 月 3 日
Does repmat actually repeat Q sum(index) times in this case?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

質問済み:

2016 年 6 月 15 日

コメント済み:

2020 年 5 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by