matlab *与.*的区别

语言用来用去老是容易忘。。。

还是记下来比较好点。。。。

(1)   " * "   即矩阵乘法,两个矩阵必须满足左边矩阵的列数等于右边矩阵的行数,如:

A(m,k) * B(k,n) = C(m,n) 

(2)   " .* "  即对应元素相乘,两个矩阵必须满足规格相同,如:

 A(m,n) * B(m,n) = C(m,n) = { a(i,j)*b(i,j) }

 在通过遍历一个数组的每个元素求出每个值对应的函数值时,在MATLAB中这样很不明智,而是应将这个数组作为1*n的矩阵,将函数作用在该矩阵上求得一个对应的1*n的函数值矩阵。

但在使用时,应注意若有" x^k " 出现时,需要使用" x.^k ",否则(计算矩阵时)报错。

下面是几个计算的例子

A*A 与 A.*A(即A^2与A.^2):

   

可明显看到不同。

但如果是单个数值乘矩阵时,则两种都可以:

 

posted @ 2017-10-15 21:10  chen狗蛋儿  阅读(17645)  评论(0编辑  收藏  举报