Matlab中.*与*区别

本文详细解析了在MATLAB中,矩阵运算符“*”与数组运算符“.*”的区别。通过具体示例,阐述了两者在普通乘法和矩阵乘法中的应用,以及如何正确使用这些运算符进行矩阵和数组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“.*”和“*”的区别:

1、在进行数之间的运算时 “ .* ” 和  “ * ”  是没有区别的,都是表示普通的乘法运算。例:a = 2,b = 3,a.*b = 6, a*b = 6。

2、在进行矩阵之间的运算时“.*”和“*”的意义就有所不同了。假设A,B表示两个矩阵,A*B表示矩阵A与矩阵B进行矩阵相乘,A.*B表示矩阵A中的元素与矩阵B中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。

例如:A1 = [0 -1 0;1 0 0;0 0 -1] * [0 -1 0;1 0 0;0 0 -1];
           A2 = [0 -1 0;1 0 0;0 0 -1] .* [0 -1 0;1 0 0;0 0 -1];

A1 =     -1     0    0            
             0    -1     0
             0     0     1 

A2 =      0     1     0
             1     0     0
             0     0     1 

3、MATLAB 中用一个特殊的符号来区分矩阵运算和数组运算。在需要区分两者不同的时侯,把点置于符号前来指示这是一个数组运算(例如, .*),下面给出的是一些常见的数组和矩阵运算。

数组加法:A+B,数组加法和矩阵加法相同。

数组减法:A-­B ,数组减法和矩阵减法相同。

数组乘法:A.*B,A 和 B 的元素逐个对应相乘,两数组之间必须有相同的形,或其中一个是标量。

矩阵乘法:A*B,A 和 B 的矩阵乘法,A 的列数必须和 B 的行数相同。

数组右除法:A./B,A 和 B 的元素逐个对应相除:A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个是标量。

数组左除法:A.\B,A 和 B 的元素逐个对应相除:B(i,j)/A(i,j)两数组之间必须有相同的形,或其中一个是标量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值