matlab 计算两个矩阵相乘

matlab 计算两个矩阵相乘,第1张

.* 表示矩阵与矩阵相乘,满足线性代数上学的矩阵与矩阵的乘法,*表示矩阵中元素与元素相乘,这两个矩阵的维数必需相同。

例如: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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12404366.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存