发布网友 发布时间:2022-03-25 14:02
共10个回答
热心网友 时间:2022-03-25 15:31
区别:
a.*b前面是点乘,要求两个变量的元素个数相等,排列方式相同,如都是行矢量或都是列矢量或都矩阵。a*b后者是矩阵乘法,要求内维相同。
用实例来说明matlab中这两种乘法C=A.B,C=AB的区别
1、A矩阵
2、B矩阵
3、C=A.*B
4、C=A*B
提供了两种运算规则:
1)A.B
进行此运算时必须保证矩阵A和B的形状一样,即同为mn矩阵。运算结果为对应位置的元素相乘组成同样形状(mn)的矩阵,即C=AijBij;
2)AB
此运算与线性代数里的矩阵相乘计算方法一样,不需要A、B形状一样,但要满足A的列数与B的行数一样(如:A为mn矩阵,B为n*p矩阵)。
热心网友 时间:2022-03-25 16:49
一、名称不同:
1、a.*b为“点乘”。
2、a*b为“位乘“。
二、用法不同:
1、a.*b是两个矩阵对应元素相乘。
2、a*b就是线性代数里面的矩阵相乘。
三、要求不同:
1、a.*b要求两个变量的元素个数相等,排列方式相同。
2、a*b要求内维相同。
参考资料:
百度百科-MATLAB
热心网友 时间:2022-03-25 18:24
a*b就是线性代数中的矩阵相乘,a的列数必须等于b的行数。
而a.*b是对应元素相乘,两个矩阵大小不一定相等。比如a是1*2的向量,b是2*4的矩阵,乘出来结果是一个2*4的矩阵。
刚刚bug卡在这。。。才发现MATLAB里.*和*不一样。。。
热心网友 时间:2022-03-25 20:15
加点那个是针对数的运算 (直接把对应元素相乘即可)
没加点的那个要杨哥按照高数中矩阵的运算法则进行运算
举例
a=[1,2;3,0] b=[2,3;1,1]
a.*b=[1x2,2x3;3x1,0x1]=[2,6;3,0]
a*b=[1x2+2x1,1x3+2x1;3x2+0x1,3x3+0x1]=[4,5;6,9]
热心网友 时间:2022-03-25 22:23
a.*b是将a矩阵与b矩阵中相同位置的元素相乘,两个矩阵的大小必须相等
a*b就是矩阵运算中的矩阵相乘
如果a和b都是一个数,运算结果相同
热心网友 时间:2022-03-26 00:48
前面是点乘,要求两个变量的元素个数相等,排列方式相同,如都是行矢量或都是列矢量或都矩阵。后者是矩阵乘法,要求内维相同,如a是?*2个元素,b则是2*?个元素,如不是这样,就出错。如:a=1:5;b=6:10;c=a.*b,d=a*b'
结果是:
c =
6 14 24 36 50
d =
130
热心网友 时间:2022-03-26 03:29
a .* b 是元素乘法,a 和 b 的维度要一样。
a * b 是矩阵乘法,a 的列数要和 b 的行数一样。
热心网友 时间:2022-03-26 06:27
% 列举下列几种可能,希望能自己总结下,加深映像
a = 2; b = 3;
a.*b = 6;
a*b = 6;
%
a = [2 3]; b = 3;
a.*b = [6 9];
a*b = [6 9];
%
a = [2 3]; b = [4 7];
a.*b = [8 21];
a*b %错误
a*b' = 29;
%
a = [1 2;3 4]; b =[2 3;4 7];
a.*b = [2 6;12 28];
a*b = [10 37;22 37];
热心网友 时间:2022-03-26 09:42
>> a=[1 2;3 4];
>> b=[1 2;3 4];
>> a/b
ans =
1 0
0 1
>> a./b
ans =
1 1
1 1
a/b相当于a乘b的逆
a./b是a的每个元素与b的每个元素对应相除
>> a=[1 2 3 4 5];
>> b=3;
>> a./b
>> a/b
这种情况下,结果就是一样的,自己体会下
热心网友 时间:2022-03-26 13:13
a * b means matrix multiply
a .* b means pixel by pixel multiply