首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab用不同的数将矩阵中的每一行相乘

Matlab用不同的数将矩阵中的每一行相乘
EN

Stack Overflow用户
提问于 2016-10-19 01:24:14
回答 2查看 4K关注 0票数 7

假设我有一个矩阵:

代码语言:javascript
复制
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];

是否有一种方法可以使:

第1行乘1

第2行乘2

第3行乘3

诸若此类?

我可以用for循环来实现这一点,但是如果对于他们希望我们使用矩阵的任务,则可以这样做。在实际的赋值中,A中填充了随机数,但每一行都被连续乘以。

谢谢,任何帮助都是非常感谢的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-19 01:38:29

你只需要把对角矩阵乘以A,就可以了。

代码语言:javascript
复制
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];
disp(diag([1 2 3 4]) * A);

 1     2     3
 8    10    12
21    24    27
40    44    48
票数 9
EN

Stack Overflow用户

发布于 2016-10-19 02:44:57

您可以使用bsxfun轻松、快速地完成这一任务。

代码语言:javascript
复制
out = bsxfun(@times, [1 2 3 4].', A)

在新版本的MATLAB (R2016b和更新版)中,您实际上可以用简单的*替换bsxfun

代码语言:javascript
复制
out = [1 2 3 4].' * A;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40120585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档