I (bu, söz konusu yeniden üretilebilir, örneğin uğruna) böyle Sympy girilir buNeden Sympy kodum, Taylor dizisi yaklaşımı ilk sırasını hatalı hesaplıyor?
gibi bir ifade
from sympy import *
expression = Add(Mul(Integer(-1), Float('0.9926375361451395', prec=2), Add(Mul(Float('0.33167082639756074', prec=2), Pow(Symbol('k1'), Float('-0.66666666666666674', prec=2)), Pow(Symbol('n1'), Float('0.66666666666666674', prec=2))), Mul(Float('0.97999999999999998', prec=2), exp(Mul(Integer(-1), Symbol('mu1'))))), Pow(Add(Mul(Float('0.97999999999999998', prec=2), Symbol('k1'), exp(Mul(Integer(-1), Symbol('mu1')))), Mul(Integer(-1), Symbol('k2')), Mul(Pow(Symbol('n1'), Float('0.66666666666666674', prec=2)), Pow(Mul(Symbol('k1'), exp(Mul(Integer(-1), Symbol('mu1')))), Float('0.33333333333333331', prec=2)))), Integer(-1))), Pow(Add(Mul(Float('0.97999999999999998', prec=2), Symbol('k0'), exp(Mul(Integer(-1), Symbol('mu0')))), Mul(Integer(-1), Symbol('k1')), Mul(Pow(Symbol('n0'), Float('0.66666666666666674', prec=2)), Pow(Mul(Symbol('k0'), exp(Mul(Integer(-1), Symbol('mu0')))), Float('0.33333333333333331', prec=2)))), Integer(-1)))
bu ifadeyi eyeballing, birinci dereceden sahip Herhangi bir değişken için Taylor yaklaşımı, örn. k1
, bazı sıfırdan farklı bir değer sıfırdan farklı olabilir, ama
x = symbol("x")
expression.series(k1, x0 = x, n = 1)
sadece 0
döndüren bu kod gerekir etrafında. Bu bir problem çünkü (sonuçta) çok değişkenli bir Taylor serisi yaklaşımı, this answer'a benzer bir şekilde hesaplamaya çalışıyorum ve seri genişletmelerden biri yanlışlıkla sıfır olarak değerlendirilirse, her şey bozuluyor.
Yanlış bir kod yazdım mı, yoksa temel matematiğim mi bu kötü ve bu aslında sıfır olarak değerlendiriliyor? documentation on series
'dan itibaren, numaralı telefon numaramdan numaralı telefonu düzgün kullanıyorum.
Bu hata SymPy'nin git ana sürümünde düzeltildi gibi görünüyor. Orada, O (x) .subs (x, x-1) + 1 ''1 + O (x - 1, (x, 1))' verir ve söz konusu dizi 'O (k₁ - x; k₁ → x) '. – asmeurer