1つの行列を等間隔の​列に分割し、それぞれ​の要素を足し合わせる​にはどうしたらよいで​すか?

A = rand(10 ,1000)
のような10行、1000列の行列 A が存在した時、
B = A(: ,1:100) + A(: ,101:200) + ... + A(: ,901:1000)
となる行列B(10行、100列) を求めるにはどうしたらよいでしょうか。

 採用された回答

Akira Agata
Akira Agata 2018 年 9 月 5 日

3 投票

reshape 関数をうまく使うと、以下のように簡単に求めることができます。
A2 = reshape(A,[10,100,10]);
B = sum(A2,3);

1 件のコメント

Ryo
Ryo 2018 年 9 月 6 日
ありがとうございます。助かりました。

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange行列および配列 についてさらに検索

製品

リリース

R2017b

質問済み:

Ryo
2018 年 9 月 5 日

コメント済み:

Ryo
2018 年 9 月 6 日

Community Treasure Hunt

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

Start Hunting!