如何在 MATLAB 中将矩阵的行除以不同的值(数组除法) [英] How do I divide the rows of a matrix by different values in MATLAB (array division)

查看:78
本文介绍了如何在 MATLAB 中将矩阵的行除以不同的值(数组除法)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有矩阵 M =ones(3); 并且我想将每一行除以不同的数字,例如 C = [1;2;3];.

Lets said I have the matrix M = ones(3); and I want to divide each row by a different number, e.g., C = [1;2;3];.

1 1 1  -divide_by-> 1      1   1   1
1 1 1  -divide_by-> 2  =  0.5 0.5 0.5
1 1 1  -divide_by-> 3     0.3 0.3 0.3

如何在不使用循环的情况下执行此操作?

How can I do this without using loops?

推荐答案

按照文档中的说明使用右数组除法 这里

Use right array division as documented here

result = M./C

而 C 具有以下形式:

whereas C has the following form:

C = [ 1 1 1 ; 2 2 2 ; 3 3 3 ];

result = bsxfun(@rdivide, M, [1 2 3]'); % untested !

这篇关于如何在 MATLAB 中将矩阵的行除以不同的值(数组除法)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆