Borrar filtros
Borrar filtros

How to divide a matrix by certain numbers?

1 visualización (últimos 30 días)
Royvg94
Royvg94 el 23 de Sept. de 2015
Comentada: Star Strider el 23 de Sept. de 2015
I want to divide a matrix by a column vector in this way:
(4 2 3 8;7 9 1 5;6 4 8 3) / (4;8;2)
and then the result i want to get is:
(4/4 2/4 3/4 8/4;7/8 9/8 1/8 5/8;6/2 4/2 8/2 3/2)

Respuesta aceptada

Star Strider
Star Strider el 23 de Sept. de 2015
Try this:
A = [4 2 3 8;7 9 1 5;6 4 8 3];
B = [4;8;2];
format rat
Q = bsxfun(@rdivide, A, B)
Q =
1 1/2 3/4 2
7/8 9/8 1/8 5/8
3 2 4 3/2
  2 comentarios
Royvg94
Royvg94 el 23 de Sept. de 2015
What means format rat? And what does it do?
Star Strider
Star Strider el 23 de Sept. de 2015
The format rat sets the format in the Command Window to rational fraction approximation, since I thought that is what you wanted. (See the documentation on format for a full description of that and other options.) This just affects the Command Window output, and full double-precision representation is maintained internally.

Iniciar sesión para comentar.

Más respuestas (1)

Thorsten
Thorsten el 23 de Sept. de 2015
A./repmat(v, 1, size(A, 2))
  2 comentarios
Royvg94
Royvg94 el 23 de Sept. de 2015
Can you explain this a bit more?
Thorsten
Thorsten el 23 de Sept. de 2015
You expand the column vector v to the size of the matrix by replicating it using repmat, then you use point-wise division ./

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by