注册 登录
编程论坛 Matlab

matlab矩阵问题请教

fuyang163 发布于 2010-03-08 13:41, 796 次点击
例如:a=[1 2 3;4 5 6;7 8 9]
      b=ones(3,3)
      当执行
      c=a(1:3,1:3).*b;时,出现新的矩阵c=a,这是为什么呢?而不是正常的线性代数矩阵相乘。请问矩阵a后面的小数点有什么作用?
4 回复
#2
e2_718282010-03-10 16:24
"."在matlab里代表元素乘,c=a.*b代表c的每个元素都是a,b对应位置元素的乘积。线代里的矩阵乘法应该写作c=a*b
#3
fuyang1632010-03-12 09:57
回复 2楼 e2_71828
谢谢的解答,但是有一点还是不太明白,就是你说的b,如果c=a.*b,c里是a,那么b用来干什么,b必须是全1矩阵还是可以是其他的?再次谢谢你的帮助啊!
#4
e2_718282010-03-14 09:13
汗,我承认这个标点用的有点问题,我想说的是
都是a和b对应位置元素的乘积
#5
liguanghua2010-09-24 12:39
汗,正常的线性代数矩阵相乘直接用c=a*b不就得了,a.表示其每一个元素与对应的元素相乘,比如a=[1 2;3 4],a.*a=[1 4;9  16]
1