Replace multiple rows by an array

1 回表示 (過去 30 日間)
Damith
Damith 2016 年 6 月 15 日
コメント済み: nvmnghia 2020 年 5 月 3 日
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 日
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 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by