matlab *与.*的区别

前端外刊评论 2017-10-15

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

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

(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 ",否则(计算矩阵时)报错。

matlab *与.*的区别

下面是几个计算的例子

matlab *与.*的区别

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

matlab *与.*的区别matlab *与.*的区别

可明显看到不同。

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

matlab *与.*的区别

相关推荐