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

81 Ansichten (letzte 30 Tage)
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;]

Akzeptierte Antwort

Stephen23
Stephen23 am 18 Apr. 2017
Bearbeitet: Stephen23 am 18 Apr. 2017
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

Weitere Antworten (2)

Matt J
Matt J am 17 Apr. 2017
Bearbeitet: Matt J am 17 Apr. 2017
Assuming you have R2016b or higher,
C=A./B;
and if you do not,
C=bsxfun(@rdivide,A,B);
  1 Kommentar
SUNANNA S S
SUNANNA S S am 18 Apr. 2017
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.

Melden Sie sich an, um zu kommentieren.


First Last
First Last am 28 Mär. 2018
Bearbeitet: First Last am 28 Mär. 2018
Make sure B is transposed to a column vector, i.e.,
C=A./B';

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by