2016-03-03 59 views
1

如果我有一個功能,如f(x) = x/(x+1)sympy可以執行符號近似嗎?

在sympy:

LIM˚F爲x - > oo爲1,
LIM˚F爲x - > 0是0

我在尋找一種方法來「象徵性地近似」這樣的情況下,函數,其中x >> 1和x < < 1.是否有sympy要做到這一點,並給結果的方式:

當x < < 1,FG oes to x 當x >> 1時,f變爲1

+0

只要讀一下你最後一句話。我認爲'系列'確實是你要找的。 – asmeurer

+0

如果答案幫助您解決了問題,則可以將其標記爲「已接受」。 –

回答

1

我不清楚你到底在問什麼。採取象徵性的限制,您可以使用limit功能

In [5]: limit(x/(x + 1), x, 0) 
Out[5]: 0 

In [6]: limit(x/(x + 1), x, oo) 
Out[6]: 1 

至於「近似」的功能,也許你想要的級數展開(大約0和無窮大,分別)

In [7]: (x/(x + 1)).series(x, 0) 
Out[7]: 
    2 3 4 5 ⎛ 6⎞ 
x - x + x - x + x + O⎝x ⎠ 

In [8]: (x/(x + 1)).series(x, oo) 
Out[8]: 
    1 1 1 1 1  ⎛1  ⎞ 
- ── + ── - ── + ── - ─ + 1 + O⎜──; x → ∞⎟ 
    5 4 3 2 x  ⎜ 6  ⎟ 
    x x x x    ⎝x  ⎠ 

的級數展開式顯示出在0和無限(常數項)處的極限,並且對於接近0或無窮大的函數(分別)是精確近似。

+1

是的,系列是我可以使用的。如果fx = sympify('x /(1 + x)'),則fx.series(x0 = 0,n = 2).removeO()產生x和fx.series(x0 = oo,n = 1)。 removeO()產生1.我沒有意識到低階系列擴張基本上是我正在做的近似。謝謝! – davo