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/08 16:32:38
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为什么呢?mat

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的逆,矩阵维数不相符,不能进行乘法运算.