如何在python中求解8个变量和8个方程的线性系统?

2024-10-06 07:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python验证我的计算,但我不知道当等式右侧也存在变量时如何求解这个系统。我试图解以下方程:[K][u]=[f] 其中:

K = (10**-7)*np.array([[ 5.21250000e-01,  2.04471348e-17, -5.21250000e-01,
         4.17000000e-01, -5.21250000e-01, -5.55111512e-17,
         5.21250000e-01, -4.17000000e-01],
       [ 2.04471348e-17,  2.08500000e-01,  8.34000000e-01,
        -2.08500000e-01, -8.32667268e-17, -2.08500000e-01,
        -8.34000000e-01,  2.08500000e-01],
       [-5.21250000e-01,  8.34000000e-01,  3.85725000e+00,
        -1.25100000e+00,  5.21250000e-01, -8.34000000e-01,
        -3.85725000e+00,  1.25100000e+00],
       [ 4.17000000e-01, -2.08500000e-01, -1.25100000e+00,
         8.54850000e+00, -4.17000000e-01,  2.08500000e-01,
         1.25100000e+00, -8.54850000e+00],
       [-5.21250000e-01, -1.11022302e-16,  5.21250000e-01,
        -4.17000000e-01,  4.89975000e+00, -1.25100000e+00,
        -4.89975000e+00,  1.66800000e+00],
       [-6.93889390e-17, -2.08500000e-01, -8.34000000e-01,
         2.08500000e-01, -1.25100000e+00,  8.96550000e+00,
         2.08500000e+00, -8.96550000e+00],
       [ 5.21250000e-01, -8.34000000e-01, -3.85725000e+00,
         1.25100000e+00, -4.89975000e+00,  2.08500000e+00,
         8.23575000e+00, -2.50200000e+00],
       [-4.17000000e-01,  2.08500000e-01,  1.25100000e+00,
        -8.54850000e+00,  1.66800000e+00, -8.96550000e+00,
        -2.50200000e+00,  1.73055000e+01]])

u.T = np.array([0, 0, 0, u_2y, 0, u_3y, 0, 0])

f.T = np.array([r1x, r1y, r2x, 0, r3x, -15, r4x, r4y-15])

我试着解u_2y,u_3y,r1x,r1y,r2x,r3x,r4x,r4y。到目前为止,我还没有看到任何右边有变量的例子,所以我对如何使用sicpy.linalg.solve解决这个问题有点困惑


Tags: 系统nparray例子方程solvelinalg等式
1条回答
网友
1楼 · 发布于 2024-10-06 07:02:53

以更一般的方式,你的问题可以被表述出来

ax=bx+c⇒ (A-B)x=c

但是,如果你写这8个方程,你会注意到,在两个方程中,你只有两个基本未知数,与剩下的6个未知数无关,因此你可以立即解这2个方程,接下来你会注意到剩下的6个未知数中的每一个只出现在一个方程中,因此,如果用两个基本的ex未知数替换,则直接计算剩余的未知数

让我们做一个简单的例子

a11 a12 a13   x1   b1
a21 a22 a23 · x2 = b2
a31 a32 a33   00   b3+x3

从前两个方程式中,您得到了
{x1,x2}=inv([a11a12;a21a22])·{b1b2}
现在已知x1x2,可以在最后一个等式中进行替换
x3=a31·x1+a32·x2-b3

相关问题 更多 >