C++中的矩阵运算
1. 2阶矩阵的逆矩阵公式
(1)判定
A是可逆矩阵的充分必要条件是,即可逆矩阵就是非奇异矩阵。 存在可逆矩阵
deltA= ac - bc;
(2)如果DeltA != 0 则矩阵可逆
如果矩阵可逆,则
![](http://a.hiphotos.baidu.com/baike/s%3D68/sign=cd8feedad239b60049ce0cbfe950cf02/4034970a304e251f4d8b09c1a086c9177f3e538f.jpg)
![](http://h.hiphotos.baidu.com/baike/s%3D18/sign=b41a23fbb5119313c343fbb86538c51a/d000baa1cd11728ba049611bcffcc3cec3fd2ca7.jpg)
A的伴随矩阵:
2阶伴随矩阵求取口诀:把元素a和d交换位置,并且保持在b与c的不动并改变b与c的符号。
(3)请求A的逆矩阵的公式如下:
程序如下:
leftCoeff[0][0] = p_polyE.x - p_polyS.x; leftCoeff[0][1] = p_clipS.x - p_clipE.x; leftCoeff[1][0] = p_polyE.y - p_polyS.y; leftCoeff[1][1] = p_clipS.y - p_clipE.y; float deltM = leftCoeff[0][0]*leftCoeff[1][1] - leftCoeff[0][1]*leftCoeff[1][0]; //求矩阵的逆矩阵 if (deltM == 0) return false; float nijuzhen[2][2]; nijuzhen[0][0] = leftCoeff[1][1]/deltM; nijuzhen[1][1] = leftCoeff[0][0]/deltM; nijuzhen[0][1] = -leftCoeff[0][1]/deltM; nijuzhen[1][0] = -leftCoeff[1][0]/deltM;
2.