mdsk.net
当前位置:首页 >> MATLAB矩阵除法 >>

MATLAB矩阵除法

Matlab中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A矩阵是非奇异方阵,则A\B是A的逆矩阵乘B,即inv(A)*B;而B/A是B乘A的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算. 通常:x=A\B就是A*x=B的解;x=B/A就是x*A=B

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

矩阵乘法的要求是参与相乘的左矩阵的列数必须跟右矩阵的行数相同,即A (M x N) 乘以 B (N x K) 的乘积矩阵C 为 M x K 维的.矩阵乘法结果矩阵的每个元素都是向量的内积,cij = ,即A的第i行向量和B的第j列向量的内积.矩

你所算的正确,因为a为3x3矩阵,b为3x1矩阵,则c=b\a为1x3矩阵;要说明一点,matlab有矩阵左除\,和右除 /左除\:c=b\a等价于b*c=a右除 /:c=b/a等价于c*a=b对于本题如果你的意思是a为系数矩阵,求a*c=b的解c应该为c=a\b希望对你有所帮助!

注意看看A的行数与B的行数.>> A=[1 2 3;3 2 1] A = 1 2 3 3 2 1>> B=[1 2]' B = 1 2>> A\B ans = 0.6250 0 0.1250

加点(.)是对每个元素运算你如果直接/,matlab知道这个标量要除以那个矩阵元素哪?当然要./,指标量对每个矩阵元素都做一次除法,也就是你要的结果了.类似还有.*和*

法一、右除:H=Y/X法二、通过求逆矩阵求H=Y*inv(X)例如:X=[1,2,3;2,2,3;2,3,4];>> Y=[2,2,3;3,4,5;6,4,3];>> H1=Y/X,H2=Y*inv(X)运行后:H1 = 0 1 0 -1 0 2 -8 1 6H2 = 0 1 0 -1 0 2 -8 1 6

这是规定,可以有很多意义,线性代数只是工具.矩阵乘法定义 定义:设 A 与 B 是两个矩阵 如果 A 的列数等于 B 的行数,则 A 可以乘 B ,乘积也 是一个矩阵,记作 AB . 当 A 是 m * n矩阵, B 是 n *s 矩阵时, AB 是 m *s 矩 阵. AB 的 ( i,j ) 位元素是 A 的第 i 行和 B 的第 j 列对应元 素乘积之和.

A=rand(24,7);B=rand(24,1);A\B应该没有问题,你看看A和B的维数是不是反了,比如B是1*24或A是7*24了

对于Ax=b这个矩阵乘法来说x=inv(A)*b,这时x=A\b,但这时,就要要求A的行数等于b的行数.对于xA=b这个矩阵乘法来说x=b*inv(A),这时x=b/A,但这时,就要要求A的列数等于b的列数.对于你的3/[1:10],是第二种情况,两者的列数不一致.导致错误对于3\[1:10],这是第一种,两者的行数相同,即inv(3)*[1:10]=1/3*[1:10]希望对你有点帮助.

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