小言_互联网的博客

适用于DSP的四阶矩阵求逆算法

322人阅读  评论(0)

若:A= [[a(1),a(5),a(9),a(13)];
[a(2),a(6),a(10),a(14)];
[a(3),a(7),a(11),a(15)];
[a(4),a(8),a(12),a(16)]];
则:invA为A的逆求法如下:
invA=[ [invA(1), invA(5), invA(9) ,invA(13)]
[invA(2), invA(6) ,invA(10) ,invA(14)]
[invA(3), invA(7), invA(11) ,invA(15)]
[invA(4), invA(8) ,invA(12) ,invA(16)]];
detA=a(1)*a(6)*a(11)*a(16)-a(1)*a(6)*a(15)*a(12)-a(1)*a(10)*a(7)*a(16)+a(1)*a(10)*a(15)*a(8)+a(1)*a(14)*a(7)*a(12)-a(1)*a(14)*a(11)*a(8)-a(5)*a(2)*a(11)*a(16)+a(5)*a(2)*a(15)*a(12)+a(5)*a(10)*a(3)*a(16)-a(5)*a(10)*a(15)*a(4)-a(5)*a(14)*a(3)*a(12)+a(5)*a(14)*a(11)*a(4)+a(9)*a(2)*a(7)*a(16)-a(9)*a(2)*a(15)*a(8)-a(9)*a(6)*a(3)*a(16)+a(9)*a(6)*a(15)*a(4)+a(9)*a(14)*a(3)*a(8)-a(9)*a(14)*a(7)*a(4)-a(13)*a(2)*a(7)*a(12)+a(13)*a(2)*a(11)*a(8)+a(13)*a(6)*a(3)*a(12)-a(13)*a(6)*a(11)*a(4)-a(13)*a(10)*a(3)*a(8)+a(13)*a(10)*a(7)*a(4);
adjA(1)=a(6)*a(11)*a(16)+a(7)*a(12)*a(14)+a(8)*a(10)*a(15)-a(8)*a(11)*a(14)-a(7)*a(10)*a(16)-a(6)*a(12)*a(15);
adjA(2)=a(2)*a(11)*a(16)+a(10)*a(15)*a(4)+a(14)*a(3)*a(12)-a(14)*a(11)*a(4)-a(10)*a(3)*a(16)-a(2)*a(15)*a(12);
adjA(3)=a(2)*a(7)*a(16)+a(6)*a(15)*a(4)+a(14)*a(3)*a(8)-a(14)*a(7)*a(4)-a(6)*a(3)*a(16)-a(2)*a(15)*a(8);
adjA(4)=a(2)*a(7)*a(12)+a(6)*a(11)*a(4)+a(10)*a(3)*a(8)-a(10)*a(7)*a(4)-a(6)*a(3)*a(12)-a(2)*a(11)*a(8);
adjA(5)=a(5)*a(11)*a(16)+a(9)*a(15)*a(8)+a(13)*a(7)*a(12)-a(13)*a(11)*a(8)-a(9)*a(7)*a(16)-a(5)*a(15)*a(12);
adjA(6)=a(1)*a(11)*a(16)+a(9)*a(15)*a(4)+a(13)*a(3)*a(12)-a(13)*a(11)*a(4)-a(9)*a(3)*a(16)-a(1)*a(15)*a(12);
adjA(7)=a(1)*a(7)*a(16)+a(5)*a(15)*a(4)+a(13)*a(3)*a(8)-a(13)*a(7)*a(4)-a(5)*a(3)*a(16)-a(1)*a(15)*a(8);
adjA(8)=a(1)*a(7)*a(12)+a(5)*a(11)*a(4)+a(9)*a(3)*a(8)-a(9)*a(7)*a(4)-a(5)*a(3)*a(12)-a(1)*a(11)*a(8);
adjA(9)=a(5)*a(10)*a(16)+a(9)*a(14)*a(8)+a(13)*a(6)*a(12)-a(13)*a(10)*a(8)-a(9)*a(6)*a(16)-a(5)*a(14)*a(12);
adjA(10)=a(1)*a(10)*a(16)+a(9)*a(14)*a(4)+a(13)*a(2)*a(12)-a(13)*a(10)*a(4)-a(9)*a(2)*a(16)-a(1)*a(14)*a(12);
adjA(11)=a(1)*a(6)*a(16)+a(5)*a(14)*a(4)+a(13)*a(2)*a(8)-a(13)*a(6)*a(4)-a(5)*a(2)*a(16)-a(1)*a(14)*a(8);
adjA(12)=a(1)*a(6)*a(12)+a(5)*a(10)*a(4)+a(9)*a(2)*a(8)-a(9)*a(6)*a(4)-a(5)*a(2)*a(12)-a(1)*a(10)*a(8);
adjA(13)=a(5)*a(10)*a(15)+a(9)*a(14)*a(7)+a(13)*a(6)*a(11)-a(13)*a(10)*a(7)-a(9)*a(6)*a(15)-a(5)*a(14)*a(11);
adjA(14)=a(1)*a(10)*a(15)+a(9)*a(14)*a(3)+a(13)*a(2)*a(11)-a(13)*a(10)*a(3)-a(9)*a(2)*a(15)-a(1)*a(14)*a(11);
adjA(15)=a(1)*a(6)*a(15)+a(5)*a(14)*a(3)+a(13)*a(2)*a(7)-a(13)*a(6)*a(3)-a(5)*a(2)*a(15)-a(1)*a(14)*a(7);
adjA(16)=a(1)*a(6)*a(11)+a(5)*a(10)*a(3)+a(9)*a(2)*a(7)-a(9)*a(6)*a(3)-a(5)*a(2)*a(11)-a(1)*a(10)*a(7);
invA(1)=adjA(1)/detA;
invA(2)=-adjA(2)/detA;
invA(3)=adjA(3)/detA;
invA(4)=-adjA(4)/detA;
invA(5)=-adjA(5)/detA;
invA(6)=adjA(6)/detA;
invA(7)=-adjA(7)/detA;
invA(8)=adjA(8)/detA;
invA(9)=adjA(9)/detA;
invA(10)=-adjA(10)/detA;
invA(11)=adjA(11)/detA;
invA(12)=-adjA(12)/detA;
invA(13)=-adjA(13)/detA;
invA(14)=adjA(14)/detA;
invA(15)=-adjA(15)/detA;
invA(16)=adjA(16)/detA;


转载:https://blog.csdn.net/weixin_42260296/article/details/102232363
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场