我正在嘗試構建一個系統來模擬滑動完成的任意斜坡,但它要求我找到半圓和任意函式的交點。然而,當我使用 sympy 時,它確實找到了一個解決方案,盡管有一個明顯存在的解決方案。
我可以在 NumPy 中采用數值方法嗎?
請參閱下面的代碼,其中 x、y 和 r 以及所有常量:
z = symbols('z')
print(solve(z * 1, ((r**2 - (z - x)**2) ** 0.5) y))
p1 = plot(z, show=False)
p2 = plot(((r**2 - (z - x)**2) ** 0.5) y, show=False)
p1.append(p2[0])
p1.show()
這導致:
[]
盡管存在明顯的解決方案:

請注意,在用于測驗的情況下,x=0.4,y=0.4,r=1
uj5u.com熱心網友回復:
您將兩個引數傳遞給,solve但它應該是作為方程 ( Eq) 的單個引數:
In [58]: eq = Eq(z * 1, ((r**2 - (z - x)**2) ** 0.5) y)
In [59]: eq
Out[59]:
0.5
? 2?
z = ?1 - (z - 0.4) ? 0.4
In [60]: solve(eq)
Out[60]: [1.10710678118655]
第二個引數(如果提供)應該是要求解的符號或要求解的符號串列,例如:
In [61]: solve(eq, z)
Out[61]: [1.10710678118655]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/508730.html
標籤:Python数学同情
下一篇:C#無法輸入十進制數
