求解方程可编程的系统?可编程、方程、系统

2023-09-11 23:26:00 作者:国民帅比

可能重复:   在C中的线性方程组的++?

我有公式如下2系统:

有关A,B,C,D:

0 = a * r1_x + b * r1_x * r1_y + c * r1_y + d
1 = a * r2_x + b * r2_x * r2_y + c * r2_y + d
0 = a * r3_x + b * r3_x * r3_y + c * r3_y + d
1 = a * r4_x + b * r4_x * r4_y + c * r4_y + d

有关E,F,G,H:

0 = e * r1_x + f * r1_x * r1_y + g * r1_y + h
0 = e * r2_x + f * r2_x * r2_y + g * r2_y + h
1 = e * r3_x + f * r3_x * r3_y + g * r3_y + h
1 = e * r4_x + f * r4_x * r4_y + g * r4_y + h

我知道r1_x,r1_y,r2_x,r2_y,r3_x,r3_y,r4_x,r4_y值, 和需要解决的一个,B,C,在第二D在第一个,并且,E,F,G,H

I know the values of r1_x, r1_y, r2_x, r2_y, r3_x, r3_y, r4_x, r4_y, and need to solve for a,b,c,d in the first one, and ,e,f,g, h in the second.

我知道我会怎样解决这些用铅笔和纸,但我真的不知道该如何编程。我怎么能解决C或C ++(或伪code)。上述方程

I know how I would solve these with pencil and paper, but I'm really unsure how to program it. How could I solve the above equations in C or C++ (or psuedocode).

感谢

推荐答案

您可以将它映射到一个矩阵系统,一λ= B ,其中 A 是系数矩阵, B 是解向量, X 是未知数。既可以实现高斯消去法,或使用公知的文库。如果您使用LAPACK,例行你想让它 dgesv

You can map it to a matrix system, A x = b, where A is the coefficient matrix, b is the solution vector, and x are the unknowns. You can either implement Gaussian elimination, or use a well known library. If you use LAPACK, the routine you want it dgesv.