我對編碼很陌生,必須用 python 為一個專案解決這個特定的方程。(這不是為了信用。這只是為了我的理解。)請注意:我知道如何手動解方程,我不需要學習解法。我需要學習如何讓我的代碼作業。
我在我的代碼中找不到錯誤。我假設有一個,因為我不斷收到相同的錯誤。有誰知道如何解決這個問題或做得更好?
非常感謝您的幫助。
以下是我正在使用的錯誤和代碼。
錯誤:
NotImplementedError: multiple generators [x, sin(x 3)] 沒有實作演算法來求解方程 x 3 4 x - 6 sin(x**3) - 1 0
import numpy as np
import sympy as sy
x = sy.symbols("x", real=True)
u = sy.symbols("u", real=True)
u = x**3
eq1 = sy.Eq(u - 6*sy.sin(u) 10*x - 6*x -1, 0)
eq1
sol1 = sy.solve(eq1, x)
print(sol1)
uj5u.com熱心網友回復:
該solve函式用于尋找方程的閉合形式符號解。這是你的等式:
In [30]: eq1
Out[30]:
? 3? 3
-1 - 6?sin?x ? 4?x x = 0
這是一個超越方程,因此解的任何決議運算式都不太可能存在。
如果你想要一個近似的數值解,那么你可以使用 nsolve 例如,可以像這樣找到這個方程的三個解:
In [33]: nsolve(eq1, x, 0.25)
Out[33]: 0.276389904495405
In [34]: nsolve(eq1, x, 0.75)
Out[34]: 0.739963760252268
In [35]: nsolve(eq1, x, 1.25)
Out[35]: 1.22805318567194
https://en.wikipedia.org/wiki/Transcendental_equation https://docs.sympy.org/latest/modules/solvers/solvers.html#sympy.solvers.solvers.nsolve
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/369811.html
