matlab中A.*B与A*B的区别

来自:    更新日期:早些时候
matlab 中的a.*b和a*b有什么区别~

区别:
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矩阵)。

买本书看看吧,带点的称为“点乘”、“位乘“,即为两个行列数相同的矩阵,对应位置一一相乘,得到的结果依位置对应到结果矩阵中(条件size(A)=size(B))
A=[1 2 3 4;5 6 7 8]
A =
1 2 3 4
5 6 7 8
>> B=[2 4 6 8;10 12 14 16]
B =
2 4 6 8
10 12 14 16
>> A.*B
ans =
2 8 18 32
50 72 98 128
后者就是矩阵乘法了,要求前者A的列数与后者B行数对应
(条件A(m,n)*B(n,q)=C(m,q)
接上面的例子
B=B'
B =
2 10 4 12
6 14
8 16

>> A*B
ans =
60 140
140 348

A.*B就是相同位置的元素相乘,所以A/B的行列数必须完全相同;
A*B是矢量积,要求A的列数等于B的行数。具体的算法你可以在百度百科中查询。

a=[2 1 3]; b=[1 2 1];
a.*b

ans =

2 2 3
而a*b会报错(矩阵大小不匹配)

举个例子
A=[1 2; 3 4];
B=A;
A.*B=[1*1 2*2;3*3 4*4]=[1 4;9 16]
而A*B=[1*1+2*3,1*2+2*4;3*1+4*3,3*2+4*4]=[7 10;15 22]


matlab中A.*B与A*B的区别视频

相关评论:
  • 14744576966Matlab中,乘积、点积、叉积有何区别?如何应用?
    许旭剂1、用matlab求矩阵的秩。命令:rank(A),A代表所求的矩阵。英语单词rank表示秩。运算结果中的ans是answer(结果、答案)的缩写。2、用matlab求矩阵的乘积,一般乘法:A*B,A、B代表两个矩阵。3、矩阵点乘:A.*B,即两矩阵的对应项相乘。4、三、用matlab求矩阵的逆矩阵,命令:inv(A)或A^-1,...

  • 14744576966matlab如何用一个列向量与另一个列向量对应相乘,生成一个列向量_百度知...
    许旭剂其实你的问题我也看不太明白,不过关于向量相乘,matlab里面向量相乘有三种情况,你参考下看哪种合适咯。一种是直接对应元素相乘用运算符(.*)如(a.*b)得到一个与a,b同维的向量;二种是向量点乘可以用a的转置乘以b也就是(a'*b)或者用函数实现(dot(a,b))得到一个常数;还有就是叉乘,...

  • 14744576966归纳总结MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘...
    许旭剂转置运算符“ .' ”和运算符“ ' ”运算符“ .' ”和运算符“ ' ”都用于求矩阵的转置,区别在于对复数矩阵的处理,前者在求复数矩阵的转置时,不对每个元素求其共轭复数,后者在求复数矩阵的转置时,会对每个元素求其共轭复数。矩阵乘法运算符“*”作用:A*B表示矩阵A和矩阵B的乘法,当A和B...

  • 14744576966matlab a和b有什么差别?
    许旭剂Matlab中,变量a和b之间的乘法操作有明显的区别,主要体现在它们的运算规则上。首先,a.*b表示点乘(元素乘积),它要求两个变量a和b的元素个数相等且排列方式相同,无论是行矢量、列矢量还是矩阵。例如,如果A和B都是行向量或列向量,或者都是相同维度的矩阵,a.*b的结果将是对应元素的乘积。而a...

  • 14744576966MATLAB中*和.的区别是什么?
    许旭剂2. 普通乘法:在MATLAB中,*表示普通的矩阵乘法。它要求第一个矩阵的列数必须与第二个矩阵的行数相匹配。结果矩阵的维度由这两个矩阵的维度决定。例如:matlab A = [1 2; 3 4]; % 一个 2x2 的矩阵 B = [5; 6]; % 一个 2x1 的矩阵 C = A * B; % 结果是一个 2x1 的...

  • 14744576966matlab中a.\/b那个点什么意思?还有 a'*b这个'什么意思
    许旭剂a.\/b:表示a,b对应位置的元素分别相除,所以首先得保证他们的维度是相同的 a*b:a表示转置矩阵,a是一行五列,a就是五行一列,而b是一行五列,所以根据矩阵乘法,结果就是五行五列了

  • 14744576966求a*b,a.*b,比较二者结果是否相同.并利用matlab内部函数获取矩阵a的大 ...
    许旭剂用rand产生随机方阵,可用如下代码:a=rand(3);b=rand(3);c=a*b %输出a*b d=a.*b %输出a .*b da=size(a) %输出a的行、列数 a %输出矩阵a的所有元素 ---运行结果可以看出矩阵乘与数组乘的结果不同。

  • 14744576966matlab 计算两个矩阵相乘
    许旭剂表示矩阵与矩阵相乘,满足线性代数上学的矩阵与矩阵的乘法,*表示矩阵中元素与元素相乘,这两个矩阵的维数必需相同。例如:A.*B,那么A是m行n列的话,B必须也是m行n列。其他的如: “\/ 与 .\/ ” ,“.^ 与 ^ ”的含义都是一样的。

  • 14744576966matlab中“A.'*B”需要A,B的条件以及结果的含义。
    许旭剂是A'.*B吧,A'是计算矩阵A的转置矩阵,A的转置矩阵应该和矩阵B具有相同维数,所以A'.*B计算的是A的转置矩阵和矩阵B中同行同列元素的乘积。

  • 14744576966matlab中a*b和a.*b有什么区别
    许旭剂回答:点乘是数组的运算,没有点的乘是矩阵运算

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网