El cálculo de ecuaciones lineales ternarias es familiar para todos, pero debe ser un poco inteligente para resolver ecuaciones con lenguaje de programación. La gente está un poco confundida. Hoy, les mostraré cómo usar Python para realizar ecuaciones. El conjunto de soluciones;
esto El papel se divide principalmente en dos partes:
- resolución de problemas
- calculo de comprobacion
- revisar
resolución de problemas
Tema 1
el código
import numpy as np
para_1 = [[3, 0, 4], [2, 3, 1], [5, -9, 7]]
result_1 = [7, 9, 8]
# 新建矩阵
A = np.mat(para_1)
print(A)
# 常数矩阵
b = np.array(result_1)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print("计算结果: ", dt)
print("===="*30)
print(dt[0])
print(dt[1])
print(dt[2])
resultado
[[ 3 0 4]
[ 2 3 1]
[ 5 -9 7]]
[7 9 8]
Resultado del cálculo: [ 5. 0.33333333 -2. ]
================ ================================================= === ================
5.0000000000000002
0.33333333333333265
-2.000000000000002
resultado de calculo manual
Tema 2
el código
import numpy as np
para_2 = [[1, -1, 1], [4, 2, 1], [25, 5, 1]]
result_2 = [0, 3, 60]
# 新建矩阵
A = np.mat(para_2)
print(A)
# 常数矩阵
b = np.array(result_2)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print("计算结果: ", dt)
print("===="*30)
print(dt[0])
print(dt[1])
print(dt[2])
resultado
[[ 1 -1 1]
[ 4 2 1]
[25 5 1]]
[ 0 3 60]
Resultado del cálculo: [ 3. -2. -5.]
============== ================================================== == ================
3.0
-1.99999999999999996
-5.000000000000001
resultado de calculo manual
calculo de comprobacion
Verifique el cálculo con la ayuda del método np.dot(),
realice el cálculo de verificación en torno a dos temas respectivamente;
Tema 1
import numpy as np
# 新建矩阵
A = np.mat(para_1)
print(A)
# 常数矩阵
b = np.array(result_1)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print(dt)
# 验算
print(np.dot(A, dt))
[[ 3 0 4]
[ 2 3 1]
[ 5 -9 7]]
[7 9 8]
[ 5. 0.33333333 -2. ]
[[7. 9. 8.]]
Tema 2
import numpy as np
# 新建矩阵
A = np.mat(para_2)
print(A)
# 常数矩阵
b = np.array(result_2)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print(dt)
# 验算
print(np.dot(A, dt))
resultado
[[ 1 -1 1]
[ 4 2 1]
[25 5 1]]
[ 0 3 60]
[ 3. -2. -5.]
[[-8.8817842e-16 3.0000000e+00 6.0000000e+01]]
revisar
Los códigos de estas dos preguntas son aproximadamente los mismos. La diferencia es que los parámetros dados son diferentes. En las dos partes de cálculo y verificación, se ha demostrado que nuestros resultados son correctos. La velocidad de cálculo sigue siendo posible. ¿Qué piensas? ¿Piensas que está mal? Las ecuaciones que son fáciles de calcular se pueden calcular recordando la computadora. Este es el final del método de hoy. Si estás interesado, puedes escribir el código varias veces para familiarizarte con el proceso.