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.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 7 de Jun. de 2019
In R2016b or later,
A ./ B
In earlier releases,
bsxfun(@rdivide, A, B)

5 comentarios

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

Iniciar sesión para comentar.

Más respuestas (1)

John D'Errico
John D'Errico el 7 de Jun. de 2019

2 votos

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;

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 7 de Jun. de 2019

Comentada:

Jan
el 10 de Jun. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by