How to divide a matrix by certain numbers?

1 次查看(过去 30 天)
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)

采纳的回答

Star Strider
Star Strider 2015-9-23
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 个评论
Royvg94
Royvg94 2015-9-23
What means format rat? And what does it do?
Star Strider
Star Strider 2015-9-23
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.

请先登录,再进行评论。

更多回答(1 个)

Thorsten
Thorsten 2015-9-23
A./repmat(v, 1, size(A, 2))
  2 个评论
Thorsten
Thorsten 2015-9-23
You expand the column vector v to the size of the matrix by replicating it using repmat, then you use point-wise division ./

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by