簡體   English   中英

Sympy 沒有找到方程的解,numpy 會起作用嗎?

[英]Sympy not finding a solution to equation, would numpy work?

我正在嘗試構建一個用於模擬滑動完成的任意斜坡的系統,但它要求我找到半個圓和任意 function 的交點。 然而,當我使用 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

您正在傳遞兩個 arguments 來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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM