Simple 3x3 matrix inverse code (C++)

后端 未结 13 2016
花落未央
花落未央 2020-12-04 19:35

What\'s the easiest way to compute a 3x3 matrix inverse?

I\'m just looking for a short code snippet that\'ll do the trick for non-singular matrices, possibly using C

相关标签:
13条回答
  • 2020-12-04 20:21
    #include <iostream>
    using namespace std;
    
    int main()
    {
        double A11, A12, A13;
        double A21, A22, A23;
        double A31, A32, A33;
    
        double B11, B12, B13;
        double B21, B22, B23;
        double B31, B32, B33;
    
        cout << "Enter all number from left to right, from top to bottom, and press enter after every number: ";
        cin  >> A11;
        cin  >> A12;
        cin  >> A13;
        cin  >> A21;
        cin  >> A22;
        cin  >> A23;
        cin  >> A31;
        cin  >> A32;
        cin  >> A33;
    
        B11 = 1 / ((A22 * A33) - (A23 * A32));
        B12 = 1 / ((A13 * A32) - (A12 * A33));
        B13 = 1 / ((A12 * A23) - (A13 * A22));
        B21 = 1 / ((A23 * A31) - (A21 * A33));
        B22 = 1 / ((A11 * A33) - (A13 * A31));
        B23 = 1 / ((A13 * A21) - (A11 * A23));
        B31 = 1 / ((A21 * A32) - (A22 * A31));
        B32 = 1 / ((A12 * A31) - (A11 * A32));
        B33 = 1 / ((A11 * A22) - (A12 * A21));
    
        cout << B11 << "\t" << B12 << "\t" << B13 << endl;
        cout << B21 << "\t" << B22 << "\t" << B23 << endl;
        cout << B31 << "\t" << B32 << "\t" << B33 << endl;
    
        return 0;
    }
    
    0 讨论(0)
提交回复
热议问题