
.* 表示矩阵与矩阵相乘,满足线性代数上学的矩阵与矩阵的乘法,*表示矩阵中元素与元素相乘,这两个矩阵的维数必需相同。
例如:A.*B,那么A是m行n列的话,B必须也是m行n列。其他的如: “/ 与 ./ ” ,“.^ 与 ^ ”的含义都是一样的。
题目中源代码如下:
>>A=[1 3 0.5 1 21/3 1 1/2 1/2 1/2 2 2 1 4 31 2 1/4 1 51/2 2 1/3 1/5 1]
>>w=[0.2069 0.069 0.4138 0.2069 0.1034]
>>C1=A.*w
C1为矩阵A和w相乘的结果。由于两个矩阵维数不同晌拆,结果提醒出错。
扩展资料:两个矩阵相乘一些注意事项:
1、如果矩阵A的列数等于矩阵B的行数,那宴好枣么矩阵相乘,即C=A*B,就被定义为二维矩阵。
2、如果不是这个情况,MATLAB就返回一个错误信息。只有一个例外就是这两个矩阵之一是1x1,如一个标量,那么MATLAB是可以接受袜肢的、在MATLAB中,乘法的运算符是*。
3、因此,命令是C=A*B。在矩阵乘法运算中A*B与B*A是不同的(线性代数知识),若只是矩阵A、B对应元素相乘,则是A.*B(乘号前面加个点.)。
方法一,可以使弊搜用for循环;方法二,可以使用cellfun函数.将大量矩阵保存成cell数组.
示例:
a=rand(3,2)%a某个矩阵
B={rand(2,2),rand(2,3),rand(2,4),rand(2,5),rand(2,6)}%B大量矩阵组成咐胡的cell数组
C=cellfun(@(x)a*x,B,'UniformOutput',false)%分别将矩阵a与B中每个矩阵相乘租简历.
%C为结果,也是cell数组
由结果可知:
C{1} = a*B{1}
C{2} = a*B{2}
C{3} = a*B{3}
C{4} = a*B{4}
C{5} = a*B{5}
用matlab求矩阵的乘积
一般乘法:A*B
A、B代表两个矩阵。
>>B = [2,5,83,7,25,3,2]
>>A = [1,2,33,4,64,6,5]
>>A*B
ans =
23 28 18
48 61 腔答 44
51 77 54
矩阵点乘:A.*B
即两矩阵的对此圆拍应项相乘。
>>A = [1,2,33,4,64,6,5]
>>B = [2,5,83,7,25,3,2]
>>A.*B
ans =
2 10 24
9 28 12
20 18 森羡 10
拓展资料:用matlab求矩阵的逆矩阵
命令:inv(A)或A^-1
inv是英语单词inverse(逆向)的缩写。
>>A = [1,2,33,4,64,6,5]
>>inv(A)
ans =
-2.0000 1.0000 0
1.1250 -0.8750 0.3750
0.2500 0.2500 -0.2500
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)