我是这个网站的新手,也是Python的新手。 我记得在学校的时候,我用BASIC编写了一个程序(当时是80年代),用于使用矩阵求解线性方程组。
我想在Python中做同样的事情,我发现可以用这样的代码来做到这一点:
import numpy as np
a = np.array([[8, 3, -2], [-4, 7, 5], [3, 4, -12]])
b = np.array([9, 15, 35])
x = np.linalg.solve(a, b)
print (x)
但是我希望程序要求输入系数,这样我就不必为每个方程式都对其进行编辑。我敢肯定这是有可能的,但是我已经搜索了几天,却一无所获。我想知道您能否给我一些有关如何实现的提示。
答案 0 :(得分:0)
我已经找到方法。这是代码:
import numpy as np
print (" Résolution de systèmes de n équations à n inconnues :")
# Saisie du nombre d’inconnues
print ("\n")
m = int(input(" Nombre d’inconnues ? "))
n = m
mat_a = []
mat_b = []
# Saisie des coefficients - matrice A
print ("\n")
print (" Saisie des coefficients – Matrice [A] :")
for i in range (0,n):
mat_a.append([])
for i in range (0,m):
for j in range (0,n):
mat_a[i].append(j)
mat_a[i][j]=0
for i in range (0,m):
for j in range (0,n):
print (" Coefficient [", i+1,", ",j+1, "] ?", end = " ")
mat_a[i][j] = eval(input())
# Saisie des coefficients - matrice B
m = 1
print ("\n")
print (" Saisie des coefficients – Matrice [B] :")
for i in range (0,n):
mat_b.append([])
for i in range (0,n):
for j in range (0,m):
mat_b[i].append(j)
mat_b[i][j]=0
for i in range (0,n):
for j in range (0,m):
print (" Coefficient [", i+1,", ",j+1, "] ?", end = " ")
mat_b[i][j] = eval(input())
# Création des matrices
a = np.array ([mat_a])
b = np.array ([mat_b])
# Résolution du système d’équations
x = np.linalg.solve(a, b)
# Affichage des solutions
print ("\n")
print (" L’équation admet", n, "solutions. S = {", x, "}.")
# Sortie du programme
print ("\n")
input (" Appuyer sur <Entrée> pour quitter…")
YouTube上的一段视频帮助了我:How to make a 2D list or matrix in Python and take a input from user
进行了一些更改之后,我设法为我的小程序编写了不错的代码。
如果要尝试使用以下系统,例如:
4x + 2y = -1
3x - y = 2
两个解决方案是 S = {0,3; -1,1} 。
:)
W。
答案 1 :(得分:0)
做了一些修改:
onclick