夏天/isummer

Sun of my life !Talk is cheap, Show me the code! 追风赶月莫停留,平芜尽处是春山~

博客园 首页 新随笔 联系 管理

C++中的矩阵运算

1. 2阶矩阵的逆矩阵公式

  

(1)判定

  A是可逆矩阵的充分必要条件是,即可逆矩阵就是非奇异矩阵。 存在可逆矩阵

   deltA= ac - bc;

(2)如果DeltA != 0 则矩阵可逆

  如果矩阵可逆,则

      其中
  
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.

posted on 2015-12-27 14:30  夏天/isummer  阅读(1539)  评论(0编辑  收藏  举报