MATLAB Answers

0

Matrix Division: Different sized matrices

Asked by Articat on 7 Jun 2019
Latest activity Commented on by Jan
on 10 Jun 2019
I have one matrix A = [745 678]. I have another matrix B = [745 1].
I want to compute A / B. I want the result to be a [745 678] matrix. So basically every row in A (from 1 to 678) will be divided by the column matrix B. The end result will be all the matrix elements of A divided by the matrix elements of B.

  0 Comments

Sign in to comment.

2 Answers

Answer by Walter Roberson
on 7 Jun 2019
 Accepted Answer

In R2016b or later,
A ./ B
In earlier releases,
bsxfun(@rdivide, A, B)

  5 Comments

Jan
on 7 Jun 2019
@Lane: Then please post the failing code. The suggestions of Walter and John do work:
A = rand(745, 678);
B = rand(745, 1);
C = A ./ B; % >= Matlab R2016b
D = bsxfun(@times, A, B); % All Matlab versions
Was able to figure it out by using the function repmat()
Jan
on 10 Jun 2019
@Lane Dillon: repmat is most likely the least efficient method to solve the problem.

Sign in to comment.


Answer by John D'Errico
on 7 Jun 2019

Is there a reason why you have not read the getting started tutorials? The manual is always a good thing to read.
C = A./B;

  0 Comments

Sign in to comment.