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

25 ビュー (過去 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 ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by