谁知道三元一次方程组的求解公式?

2个回答

  • a1*x + b1*y + c1*z +d1 = 0

    a2*x + b2*y + c2*z +d2 = 0

    a3*x + b3*y + c3*z +d3 = 0

    a1,a2,a3,b1,b2,b3,c1,c2,c3 都是已知的

    1.

    如果d1,d2,d3为已知常量.

    用克莱姆法则,其实就是把方程组转换为矩阵,然后求该矩阵的行列式的值来做.

    --[a1 b1 c1]

    A=[a2 b2 c2] det(A)=a1b2c3+b1c2a3+c1a2b3-(c1b2a3+b1a2c3+a1c2b3)

    --[a3 b3 c3]

    ---[-d1 b1 c1]

    A1=[-d2 b2 c2]

    ---[-d3 b2 c3]

    --------------|d1 b1 c1|

    det(A1)=(-1)×|d2 b2 c2|=-[d1b2c3+b1c2d3+c1d2b3-(c1b2d3+b1d2c3+d1c2b3)]

    --------------|d3 b3 c3|

    (用d?代替a?,再乘-1)

    依此类推,det(A2),det(A3)

    ---[a1 -d1 c1]

    A2=[a2 -d2 c2]

    ---[a3 -d3 c3]

    ---[a1 b1 -d1]

    A3=[a2 b2 -d2]

    ---[a3 b2 -d3]

    (1)

    如果det(A)!=0,有唯一解.

    x1=det(A1)/det(A)

    x2=det(A2)/det(A)

    x3=det(A3)/det(A)

    (2)

    如果det(A)=0,有多个解.

    2.如果d1,d2,d3为未知,有多个解.

    数学公式已给出,定义一下数组,就可写出程序.