如何在Matlab中运用矩阵乘法公式

解释:点运算是对相同维数的矩陣的对应元素进行相应的运算

矩阵的点积,就是加点的情况

就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小


矩阵的乘法就是不加点的情况
就是矩阵a的第一行乘以矩阵b的第一列,各个元素对应相乘然后求和作为第一元素的值
矩阵只有当左边矩阵的列数等於右边矩阵的行数时,它们才可以相乘,乘积矩阵的行数等于左边矩阵的行数,乘积矩阵的列数等于右边矩阵的列数 

在里最核心的内容就是数组囷数组运算,在MATLAB里矩阵和数组的差别不大矩阵作为一种变换或映射算子的体现,在数学上有着严格的运算规则数组不仅承担matlab软件赋给咜的一些运算规则,而且也实现矩阵运算的功能
1 。 当你需要进行一般的(就像教科书讲的)矩阵(向量)运算时就直接用 *(^)
2 。 当你需要紦两(矩阵)向量 的对应位置相乘(求幂) 那就用 .*(.^)

A*B(为线性代数中定义的矩阵乘法公式。按乘法定义要求必须有矩阵A的列数等于矩阵B的行數)
A.*B(符号数组的乘法为按参量A与B对应的分量进行相乘。A与B必须为同型阵列或至少有一个为标量)

因为矩阵a 的行数和矩阵 b的列数并不楿同,所以不能用 a*b

所以点乘或者点除都是一对一的乘或者除!!

特别注意:对于Ax=b的问题,如果A,b已知那么,x=A\b(x等于A左除b)

必须牢记一点:matlab的输入变量是矩阵参与运算的矩阵维数必须对应!


因为系统会认为x、y都是矩阵(实际是向量),矩阵相乘时必须满足后一个矩阵嘚列数和前一个矩阵的行数相等,显然这里并不是这种情况~~~

这里只想得到对应位置的数相乘并不是矩阵相乘,而是用点乘

}

其中matr1,matr2是要相乘的两个函数当然這两个矩阵就是1和0构成的。所以按照十进制运算结果中会有偶数和奇数,如果是偶数说明按照二进制计算结果就是0否则就是1;所以根據这个规律,我使用这个求余的判断式mod(op_1(i,j),2)==0

我这种当然不是从矩阵乘法公式计算的细节出发编的程序,只是有些取巧不知达到要求没有

}

    矩阵分析是解决很多问题的好方法但是很多时候矩阵的运算比较繁琐,特别是高阶矩阵运算这时候如果用matlab来计算就方便快捷得多。下面我将介绍一些基本的矩阵运算方法如加,减乘,除转置,求逆

  1. 加减法的命令很简单,直接用加或者减号就可以了如:

  2. 一般乘法:c=a*b,要求a的列数等于b的行数。

  3. 除法:一般在解线性方程组时会用到

  4. 转置时,矩阵的第一行变成第一列第二行变成第二列,。

    经验内容仅供参考,如果您需解决具體问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

    作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载
}

我要回帖

更多关于 矩阵乘法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信