用VB做三元一次方程求解器求算法
发布网友
发布时间:2024-03-26 19:45
我来回答
共3个回答
热心网友
时间:2024-10-27 15:43
用行列式的方法
注意:
1."x"是表示未知数,不是乘号;乘号是"*"。
2."!="是不等于的意思
3.你的程序的未知数的X, Y, Z,在这里写成 x1, x2, x3
4.行列式的解法
a11 a12 a13
A = a21 a22 a23 != 0
a31 a32 a33
det(A) = a11*a22*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 - a12*a21*a33 - a11*a23*a32
提取公因式后得到:
det(A) = a11*( a22*a33 - a32*a23 ) - a12*( a21*a33 - a31*a23 ) + a13( a21*a32 - a31*a22 )
a11x1 + a12x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2
a31x1 + a32x2 + a33x3 = b3
令
a11 a12 a13
D = a21 a22 a23 != 0
a31 a32 a33
(若D = 0时方程无解)
令
b1 a12 a13
D1 = b2 a22 a23
b3 a32 a33
令
a11 b1 a13
D2 = a21 b2 a23
a31 b3 a33
令
a11 a12 b1
D3 = a21 a22 b2
a31 a32 b3
则,
x1 = D1 / D, x2 = D2 / D, x3 = D3 / D
我曾经用过C语言用这种方法实现过你这个程序,vb应该可以的。
热心网友
时间:2024-10-27 15:41
你应该把三元一次方程组先用消元法消去x,化为y、z的二元一次方程组,然后用代入法。
(bg-ah)y+(cg-ai)z=dg-aj
(ap-bo)y+(aq-co)z=ar-do
然后用同样的道理再消元,就成一元一次方程,剩下的就简单了。
热心网友
时间:2024-10-27 15:40
道理很简单,但很麻烦一下.
给你个思路吧,不要怕麻烦,
比如用代换消元法,
你会用笔解吧,
那好,把上面这些代数变量a,b,c,....r,
一个一个变量代入,
最后得出一个x的代数式.
再x值代入得y,z.
编程过程很简单,把x的代数式写成表达式即可.
问题时,你得先把用手工求解出代数式.我试了一下,
大概两面A4纸能写完吧,我写的字比较大一点.