matlab中用左除和逆矩阵法 求方程 为什么答案不一样?a=[2,1;1,2]cc=[0.5;0.5]y=[3;3]c=y\ac1=inv(a)*y如题,c为0.5,0.5 而c1 为1,1 为什么呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 17:46:51
matlab中用左除和逆矩阵法 求方程 为什么答案不一样?a=[2,1;1,2]cc=[0.5;0.5]y=[3;3]c=y\ac1=inv(a)*y如题,c为0.5,0.5 而c1 为1,1  为什么呢?
xՓn@_;hun &PK`xUP[EM#4! QBml]-zcǴJTHs9g)f_o_ؽa!>9}.w:9QG3UrXn^w\'c@彯rNU,  8f?"҇b% );js~F>tâ\[c ;Ҷ8U`5TTΈ`mB!]}E4]DӅ>/[~xg=5G]tlJtT\6W]6/ٷd&d mV

matlab中用左除和逆矩阵法 求方程 为什么答案不一样?a=[2,1;1,2]cc=[0.5;0.5]y=[3;3]c=y\ac1=inv(a)*y如题,c为0.5,0.5 而c1 为1,1 为什么呢?
matlab中用左除和逆矩阵法 求方程 为什么答案不一样?
a=[2,1;1,2]
cc=[0.5;0.5]
y=[3;3]
c=y\a
c1=inv(a)*y
如题,c为0.5,0.5 而c1 为1,1 为什么呢?

matlab中用左除和逆矩阵法 求方程 为什么答案不一样?a=[2,1;1,2]cc=[0.5;0.5]y=[3;3]c=y\ac1=inv(a)*y如题,c为0.5,0.5 而c1 为1,1 为什么呢?
c=a\y,得到的结果就与inv(a)*y结果一致 了.
因为y\a表示a乘以y的左逆,也就是表示a除以y了.而你要求的是y除以a结果,应该写为a\y.
你前后两次把除数与被除数反过来了,当然结果不一样了.
也就是说,'\'表示左除——左边为除数,右边为被除数.
c=pinv(y)*a的结果和c=y\a一致.
c1=inv(a)*y的结果和c1=a\y一致.
PS:'/'刚好相反,表示右除——右边为除数,左边为被除数.而你这里不能用右除,因为这里直接右除的话表示y乘以a的逆,矩阵维数不相符,不能进行乘法运算.