フィルターのクリア

Vectorisation of 2 2d matrix

1 回表示 (過去 30 日間)
Li zifan
Li zifan 2018 年 8 月 27 日
編集済み: Stephen23 2018 年 8 月 27 日
Hi, I want to answer of 2 arrays without using loops,
A=rand(100,100)
B=rand(8,1)
The out put C is going to be a 100*100*8 array, each layer is the difference between A and corresponding B row.
e.g. The second layer of C is gonna be A(:,:)-B(2,:).
Is there a way to manage this with out for loop?
Thanks

採用された回答

Stephen23
Stephen23 2018 年 8 月 27 日
編集済み: Stephen23 2018 年 8 月 27 日
For MATLAB versions R2016b+:
C = A - reshape(B,1,1,[])
For earlier versions:
C = bsxfun(@minus,A,reshape(B,1,1,[]))

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by