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.

 Risposta accettata

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

5 Commenti

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."
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
Was able to figure it out by using the function repmat()
@Lane Dillon: repmat is most likely the least efficient method to solve the problem.

Accedi per commentare.

Più risposte (1)

John D'Errico
John D'Errico il 7 Giu 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;

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by