怎样解三元一次方程组解?

怎样解三元一次方程组解?,第1张

一般三元一次方程都有3个未知数x,y,z和3个方程组

先化简题目,将其中一个未知数消除,

先把第1和第2个方程组平衡后相减,就消除了第一个未知数

再化简后变成新的二元一次方程

然后把第2和第3个方程组平衡后想减,再消除了一个未知数

得出一个新的二元一次方程

之后再用消元法,将2个二元一次方程平衡后想减,就解出其中一个未知数了

再将得出那个答案代入其中一个二元一次方程中,就得出另一个未知数数值

再将解出的2个未知数代入其中一个三元一次方程中,解出最后一个未知数了

例子:

①5x-4y+4z=13

②2x+7y-3z=19

③3x+2y-z=18

2①-5②:

(10x-8y+8z)-(10x+35y-15z)=26-95

④43y-23z=69

3②-2③:

(6x+21y-9z)-(6x+4y-2z)=57-36

⑤17y-7z=21

17④-43⑤:

(731y-391z)-(731y-301z)=1173-903

z=-3

这是第一个解

代入⑤中:

17y-7(-3)=21

y=0

这是第二个解

将z=-3和y=0代入①中:

5x-4(0)+4(-3)=13

x=5

这是第三个解

于是x=5,y=0,z=-3

解三元一次方程组的基本思路是:通过“代入”或“加减”进行消元,将“三元”化为“二元”,使解三元一次方程组转化为解二元一次方程组,进而再转化为解一元一次方程。

步骤:

①利用代入法或加减法,消去一个未知数,得出一个二元一次方程组;

②解这个二元一次方程组,求得两个未知数的值;

③将这两个未知数的值代入原方程中较简单的一个方程,求出第三个未知数的值,把这三个数写在一起的就是所求的三元一次方程组的解。

三元一次方程组解,必须先确定其中两个变量的值,才能确定第三个。

对于系数而言,X的系数会导致X得到一个非无限循环的数值,因此把它作为第三个数。

所以设定A1单元格为y;B1单元格为z,C1输入 =int((195315-A1464-B13723)/40)得到X的解。

y,z只能手工输入。

将系数写成增广矩阵

1

1

1

6

3

1

-1

2

5

-2

3

10

然后初等行变换消元

1

1

1

6

0

-2

-4

-16

0

-7

-2

-20

1

1

1

6

0

1

2

8

0

0

-12

-36

1

1

1

6

0

1

2

8

0

0

1

3

所以此方程解为(1,2,3)

#include <stdioh>#define EPSINON 0void main(){

float a[3][3],detA,detA1,detA2,detA3;float b[3],x,y,z;int i,j;printf("3元一次方程组的格式如下:\n");printf("a[0][0]x+a[0][1]y+a[0][2]z = b[0]\n");printf("a[1][0]x+a[1][1]y+a[1][2]z = b[1]\n");printf("a[2][0]x+a[2][1]y+a[2][2]z = b[2]\n");printf("请依次输入方程系数:\n");

for(i=0; i<3; i++){ for(j=0; j<3; j++) { printf("a[%d][%d]=", i, j); scanf("%f", a[i][j]); }}printf("依次输入方式右边参数:\n");for(i=0; i<3; i++){ printf("b[%d]=",i); scanf("%f",b[i]);}

detA = a[0][0]a[1][1]a[2][2]+a[0][1]a[1][2]a[2][0]+ a[0][2]a[1][0]a[2][1]-a[0][0]a[1][2]a[2][1]- a[0][1]a[1][0]a[2][2]-a[0][2]a[1][1]a[2][0];

detA1 = b[0]a[1][1]a[2][2]+a[0][1]a[1][2]b[2]+ a[0][2]b[1]a[2][1]-b[0]a[1][2]a[2][1]- a[0][1]b[1]a[2][2]-a[0][2]a[1][1]b[2];

detA2 = a[0][0]b[1]a[2][2]+b[0]a[1][2]a[2][0]+ a[0][2]a[1][0]b[2]-a[0][0]a[1][2]b[2]- b[0]a[1][0]a[2][2]-a[0][2]b[1]a[2][0];

detA3 = a[0][0]a[1][1]b[2]+a[0][1]b[1]a[2][0]+ b[0]a[1][0]a[2][1]-a[0][0]b[1]a[2][1]- a[0][1]a[1][0]b[2]-b[0]a[1][1]a[2][0];

x = detA1/detA;y = detA2/detA;z = detA3/detA;if ((detA >= -EPSINON) (detA <= EPSINON)){ printf("方程无唯一解!\n"); }else{ printf("方程组的根为:x=%f,y=%f,z=%f\n", x, y, z); }}

网上搜的用法是:3x-y+z=3 方程系数依次是输入3-11 方式右边参数是输入3

鼠标右击Sheet1的标签查看代码,在代码窗口粘贴下面的代码:

Sub ouyang()

For a = 1 To 1412

For b = 1 To 1412

c = (46580 - 33 a - 42 b) / 53

If c > 0 And (c = Int(c)) Then

t = t + 1

Cells(t, 1) = a: Cells(t, 2) = b: Cells(t, 3) = c

End If

Next

Next

End Sub

按 F5 运行程序,按Alt + F11回到Excel就可看到有 14671组解!

解:第一题

由2式可知:y=2-2x

将y=2-2x带入3式,得:

2(2-2x)+x=7

即:4-3x=7

x=-1

将x=-1分别带入 X+2Z=3,y=2-2x,得

z=2,y=4

第二题

由1式可知:x=2-y-z

将x=2-y-z分别带入2式和3式,得:

3(2-y-z)-y-4z=5

2(2-y-z)+3y-2z=0

即:6-4y-7z=5

4+y-4z=0

所以由4+y-4z=0可得y=4z-4,带入6-4y-7z=5,得

6-4(4z-4)-7z=5

即:6-16z+16-7z=5

z=17/23

将z=17/23带入y=4z-4,得y=-24/23

将z=17/23,y=-24/23带入x=2-y-z,得x=53/23

第三题

3式减1式,可得2x+2y=28,即x+y=14,设为4式

1式乘以2,再减去2式,可得x+2y=20,设为5式

5式减4式,得y=6

将y=6带入4式,得x=8

将x=8,y=6带入1式,得z=4

第四题

2式乘以3,再加上3式,得11x+10z=35,设为4式

4式乘以2,1式乘以5,然后两式相减,得:

7x=35,x=5

将x=5带入1式,得z=-2

将x=5,z=-2带入2式,得y=1/3

打字很辛苦,希望能对你有帮助

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3870719.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-03-30
下一篇2024-03-30

发表评论

登录后才能评论

评论列表(0条)

    保存