knrt.net
当前位置:首页 >> mAtlAB求矩阵乘积 >>

mAtlAB求矩阵乘积

举个例子:A和B是两个矩阵,则:A*B代表正常的线性代数中的矩阵相乘;A.*B代表两个矩阵的对应元素相乘,其中生成的同阶矩阵C的对应的矩阵元素为:C(i,j)=A(i,j)*B(i,j).实例:A是全为1的2*2矩阵,B是单位矩阵,下面表示A和B的矩阵相乘和A和B的点乘.拓展说明:点乘是数组的运算,不加点是矩阵的运算;点乘要求参与运算的两个量两必须是维数相同,是对应元素的相乘;而不加点表示的是矩阵相乘(除的时候通过逆矩阵来实现),要求内维相同,也就是前一个矩阵的列的维数等于后一个矩阵的行的维数.

矩阵有两种乘法:点乘和插乘.比如矩阵A乘以矩阵B,matlab语言表示如下:点乘:A.*B插乘:A*B点乘为两个矩阵的对应项相乘,插乘为一般的矩阵乘法.

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

>>a=rand(3,4)a = 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919>>sum(a,2)ans = 2.3373 1.7564 2.9823 ===================自己按照我这个格式弄一下吧

比如矩阵:A=[1,3,1;2,4,1;3,6,9];求秩:rank(A)>> rank(A)ans = 3乘积:A*A>> A*Aans = 10 21 13 13 28 15 42 87 90求逆:inv(A)>> inv(A)ans = -2.0000 1.4000 0.0667 1.0000 -0.4000 -0.0667 0 -0.2000 0.1333求行列式:det(A)>> det(A)ans = -15

直接乘好了啊 定义A(m,n)、B(n,l)C(m,l)=A*B

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

用点乘 .*

就是mod(A*B,2)例如A=[1,0,1;0,1,1;1,1,1];B=[1;1;0];在matlab中运行得C=A*BC= 1 1 2mod(A*B,2)结果是ans = 1 1 0 mod(x,y)就是对x取余除数是Y,其中x可以是数也可以是向量,或者矩阵

a=rand(5,10,15);%%%用你的矩阵替换b=rand(5,10);%%%用你的矩阵替换c=zeros(size(a));%%%用于存储结果矩阵for i=1:size(a,3) aa=a(:,:,i); c(:,:,i)=aa.*b;endc

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com