I want to divide each row of a matrix with corresponding element in another matrix .Please help.

84 ビュー (過去 30 日間)
For eg: I have a matrix
A=[9 6 3;
4 2 8;
1 0 0;]
divide A by B=[3 2 1] to get the result
C=[3 2 1;
2 1 4;
1 0 0;]

採用された回答

Stephen23
Stephen23 2017 年 4 月 18 日
編集済み: Stephen23 2017 年 4 月 18 日
Use bsxfun:
>> A = [9,6,3;4,2,8;1,0,0];
>> B = [3,2,1];
>> bsxfun(@rdivide,A,B(:))
ans =
3 2 1
2 1 4
1 0 0

その他の回答 (2 件)

Matt J
Matt J 2017 年 4 月 17 日
編集済み: Matt J 2017 年 4 月 17 日
Assuming you have R2016b or higher,
C=A./B;
and if you do not,
C=bsxfun(@rdivide,A,B);
  1 件のコメント
SUNANNA S S
SUNANNA S S 2017 年 4 月 18 日
Sir, This gives the answer
C =
3.0000 3.0000 3.0000
1.3333 1.0000 8.0000
0.3333 0 0
I want to divide each row in A by the corresponding value in B that is, rownumber=element in B, if we take first row of A I want to divide it by first element in B and so on.

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


First Last
First Last 2018 年 3 月 28 日
編集済み: First Last 2018 年 3 月 28 日
Make sure B is transposed to a column vector, i.e.,
C=A./B';

カテゴリ

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