matlab中矩阵怎么让不同行乘以不同数,要用matlab的自带函数

 我来答
dukinkin
2017-03-27 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:932万
展开全部
%假设有以下的矩阵A
A=[1 2 3;
   4 5 6;
   7 8 9];
%我们需要第一行乘以1,第二行乘以2,第三行乘以3
B=[1;
   2;
   3];
%B是一个列向量,存放没一行需要乘以的数
%先根据A的列数将B复制成和A大小一样的矩阵([1 1 1;2 2 2;3 3 3])
%然后再和A对应位置的元素相乘,就可以得到想要的结果C
C=A.*repmat(B,[1,size(A,2)]);

结果如下

A =

     1     2     3
     4     5     6
     7     8     9
     
B =

     1
     2
     3
     
C =

     1     2     3
     8    10    12
    21    24    27

还有一个更简单的办法

C=diag(B)*A;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式