线性代数|利用二阶行列式求解二元线性方程组

1. 二元线性方程组求解

  • 二元线性方程组 { a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 \begin{cases}a_{11}x_1+a_{12}x_2=b_1 \\ a_{21}x_1+a_{22}x_2=b_2 \end{cases} {a11x1+a12x2=b1a21x1+a22x2=b2的解,用二阶行列式表示 :
  • ∣ a 11 a 12 a 21 a 22 ∣ ≠ 0 {\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix}}\neq0 a11a21a12a22 =0时, x 1 = ∣ b 1 a 12 b 2 a 22 ∣ ∣ a 11 a 12 a 21 a 22 ∣ , x 2 = ∣ a 11 b 1 a 21 b 2 ∣ ∣ a 11 a 12 a 21 a 22 ∣ x_1=\frac{\begin{vmatrix} b_1 & a_{12} \\ b_2 & a_{22} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix}}, x_2=\frac{\begin{vmatrix} a_{11} & b_{1} \\ a_{21} & b_{2} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix}} x1= a11a21a12a22 b1b2a12a22 ,x2= a11a21a12a22 a11a21b1b2

2. 二阶行列式的值

  • 对于二阶行列式,可用对角线法则求值。
    在这里插入图片描述
  • 图中, a 11 a_{11} a11 a 22 a_{22} a22间的实线称为主对角线 a 12 a_{12} a12 a 21 a_{21} a21间的虚线称为副对角线
  • 主对角线上两数的乘积,减去副对角线上两数的乘积,得到的差便是二阶行列式的值。

3. C++实现

#include <iostream>
#include <string>

using namespace std;

int SetCoe(string sCoeName, double &fCoeValue)
{
    cout << sCoeName << " = ";
    while (!(cin >> fCoeValue))
    {
        cin.clear();
        cin.ignore();
        cout << "输入错误,重新输入\n";
        cout << sCoeName << " = ";
    }    
    return 0;
}

int main()
{
    cout << "对形如\n";
    cout << "a11 * x1 + a12 * x2 = b1\n";
    cout << "a21 * x1 + a22 * x2 = b2\n";
    cout << "的二元线性方程组求解。\n\n";
    cout << "输入系数:\n";

    double a11, a12, b1, a21, a22, b2;
    SetCoe("a11", a11);
    SetCoe("a12", a12);
    SetCoe("b1", b1);
    SetCoe("a21", a21);
    SetCoe("a22", a22);
    SetCoe("b2", b2);

    cout << "\n得到的解为:\n";
    if (0 == (a11 * a22 - a12 * a21))
    {
        cout << "解方程失败.\n";
    }
    else
    {
        cout << "x1 = " << (b1 * a22 - a12 * b2) / (a11 * a22 - a12 * a21) << endl;
        cout << "x2 = " << (a11 * b2 - a21 * b1) / (a11 * a22 - a12 * a21) << endl;
    }    
    
    return 0;
}

在这里插入图片描述


参考文献:

  1. 同济大学数学系编. 工程数学 线性代数 第五版. 北京: 高等教育出版社
  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测绘工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值