MATLAB矩阵除法

a=[2 -1 3;3 1 -5;4 -1 1];
>> b=[5;5;9];
>> c=b\a
c =

0.4656 -0.0687 -0.0076
怎么我算出的答案不对啊,是不是出现什么问题了,是什么问题,请各位高手解答一下,谢谢

第1个回答  推荐于2017-11-23
你所算的正确,因为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
希望对你有所帮助!本回答被提问者采纳
第2个回答  2020-04-16
法一、右除: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
6
H2
=
0
1
0
-1
0
2
-8
1
6
第3个回答  2010-04-23
matlab 有左除和右除之分,也可能是手算的时候用的左除的方法,但代码写的右除,导致结果不一样。
你这样写下看看。
c=b/a;
第4个回答  2010-04-23
你好,你算的答案怎么不对了?
是不是手动算的时候公式用错了。
matlab直接运算确实是矩阵除。
相似回答