Matrix Division: Different sized matrices

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.

 Réponse acceptée

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

5 commentaires

Articat
Articat le 7 Juin 2019
My apologies, I made an error to the question. I just fixed it. I tried this but am still getting an error that: "matrix dimensions must agree."
Walter Roberson
Walter Roberson le 7 Juin 2019
Which MATLAB release are you using?
@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
Articat
Articat le 10 Juin 2019
Was able to figure it out by using the function repmat()
Jan
Jan le 10 Juin 2019
@Lane Dillon: repmat is most likely the least efficient method to solve the problem.

Connectez-vous pour commenter.

Plus de réponses (1)

John D'Errico
John D'Errico le 7 Juin 2019

2 votes

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;

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by