我想用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解决这个问题有点困惑
以更一般的方式,你的问题可以被表述出来
ax=bx+c⇒ (A-B)x=c
但是,如果你写这8个方程,你会注意到,在两个方程中,你只有两个基本未知数,与剩下的6个未知数无关,因此你可以立即解这2个方程,接下来你会注意到剩下的6个未知数中的每一个只出现在一个方程中,因此,如果用两个基本的ex未知数替换,则直接计算剩余的未知数
让我们做一个简单的例子
从前两个方程式中,您得到了
{x1,x2}=inv([a11a12;a21a22])·{b1b2}
现在已知x1和x2,可以在最后一个等式中进行替换
x3=a31·x1+a32·x2-b3
相关问题 更多 >
编程相关推荐