(转)matlab *与.*的区别

[复制链接]
568|1
 楼主| cooldog123pp 发表于 2019-2-16 13:58 | 显示全部楼层 |阅读模式
(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 ",否则(计算矩阵时)报错。
1100433-20171015210606371-755406903.jpg
下面是几个计算的例子
A*A 与 A.*A(即A^2与A.^2):
   
可明显看到不同。
但如果是单个数值乘矩阵时,则两种都可以:

gaoyang9992006 发表于 2019-2-17 15:35 | 显示全部楼层
运算对象是矩阵(数组)的都是用点计算符号。单一元素计算直接使用计算符。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2304

主题

7629

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部