Tôi đang mã hóa một hàm giải quyết một số phương trình đồng thời tùy ý. Số phương trình được thiết lập bởi một trong các tham số của hàm và mỗi phương trình được xây dựng từ một số biểu tượng - như nhiều biểu tượng có phương trình. Điều này có nghĩa rằng tôi không thể chỉ đơn giản là mã hóa các phương trình, hoặc thậm chí là các biểu tượng cần thiết để tập hợp các phương trình; hàm cần có khả năng xử lý bất kỳ số phương trình nào. Vì vậy, câu hỏi của tôi là, làm thế nào để tôi tạo ra một danh sách các biểu tượng?SymPy - Số lượng các ký hiệu tùy ý
Tôi có một giải pháp có thể, nhưng ruột của tôi nói với tôi rằng nó sẽ không hiệu quả lắm. Xin vui lòng cho tôi biết nếu có một cách tốt hơn để làm điều này.
Tôi mới tham gia SymPy và vẫn đang cảm thấy theo cách của mình. Theo như tôi thấy, Biểu tượng cần được xác định bằng một chuỗi. Do đó, tôi có thể tạo chuỗi chuỗi thông qua việc thêm số gia tăng vào một chữ cái (nói 't0', 't1', v.v.), thêm chúng vào danh sách và sau đó tạo các biểu tượng sử dụng các chuỗi đó làm tham số. Những biểu tượng đó sẽ tự được lưu trữ trong một danh sách và sẽ được sử dụng để tạo ra các phương trình.
def solveEquations(numEquations):
symbolNameList = []
symbolList = []
equationList = []
for i in range(numEquations):
name = 't' + str(i)
symbolNameList.append(name)
symbolList.append(Symbol(name))
for i in range(numEquations):
equation = 0
for sym in symbolList:
equation += sym ** i # Or whatever structure the equation needs
equationList.append(equation)
#Then go on to solve the equations...
Đây có phải là cách tốt nhất để làm điều này hoặc có cách tiếp cận hiệu quả hơn không?
Cảm ơn! Điều đó trông rất đơn giản. – thornate
Nó cũng hoạt động đối với các chữ cái: 'symbols ('a: g')'. – asmeurer
chỉ là một lưu ý ở đây, rằng trong sympy đây là một tuple và không phải là một danh sách ...có một sự khác biệt nhỏ, chủ yếu là, một người không thể định nghĩa mọi thứ cho các thành phần của một danh sách: a0 = t + 1 sẽ đưa ra một lỗi. – user836925