'daki bir noktada bir işlevin değerlendirilmesi Bir gözden geçirme yöntemi olarak çeşitli optimizasyon yöntemlerini kodlamaya çalışıyorum. SymPy'yi, bir noktadaki koordinatların bir dizide saklandığı belirli bir noktadaki değişken sayıda değişkenle değerlendirmek için kullanabilmeyi istiyorum. Örneğin, f(x,y) = 3*x**2 - 2*x*y + y**2 + 4*x + 3*y
noktasını b = [1,2]
noktasında değerlendirmek istiyorum. Ama bunu yapmak için genel bir yöntemden çok hoşlanıyorum, bu herhangi bir değişken ile bir fonksiyonu işleyebilecek ve uygun bir uzunluk dizisi olarak değerlendirilecek nokta olarak, yani sympy.evalf(f, subs = {foo})
gerçekten çok kullanışlı değil.SymPy
SymPy
cevap
SymPy ifade ağaçları ile çalışıyorsunuz, işlev değil. Herhangi ifade sitesinde yapabilirsiniz:
>>> vars = sorted(expression.free_symbols)
>>> evaluated = expression.subs(*zip(vars, your_values))
Çok teşekkürler - bu komutlar ile ilgili belgeleri nerede bulabilirim? Anlamadan sadece sözlü metni kopyalamak yerine ne yaptıklarını anlamayı tercih ederim! Bir bütün olarak –
http://docs.sympy.org. Belgeler daha iyi olabilirdi. – Krastanov
Ben de bunu yapmak daha kolay olmasını beklediğiniz, ama burada iyi bir çözüm var:
Eğer sembol isimlerini biliyorsanız ('x'
, 'y'
, örneğin), sizi
fvars = sympy.symbols('x, y') #these probably already exist, use: fvars = [x,y]
b = [1,2]
sympy.evalf(f, subs = dict(zip(fvars,b)))
- 1. Liste/sympy
- 2. piton sympy ile sympy.physics.quantum
- 3. SymPy - Sembollerin rastgele sayıları
- 4. Sympy: İfadedeki işlevleri alın
- 5. SymPy kullanarak projeler?
- 6. Sympy: Türevlerin çıktısı çıktılarının değiştirilmesi
- 7. Python Sympy Matrisin Oldukça Çıktısı
- 8. Çizim için Sympy Denklemlerini Kullanma
- 9. Sympy ayıklamak Fourier Series katsayıları
- 10. IPython Notebook Sympy Math Rendering
- 11. Sympy: Mantıksal ifadeden C kodu
- 12. sympy: 'Transpose' nesnesinin listeye bir özelliği yok
- 13. Tüm SymPy çıkışlarını Jupyter defterine süslemeleri
- 14. SymPy, 4. sıradaki polinom denklemini çözemez
- 15. Neden Sympy kodum, Taylor dizisi yaklaşımı ilk sırasını hatalı hesaplıyor?
- 16. Neden sympy `__init__` yerine __new__` yi geçersiz kılar?
- 17. Bir denklemler sistemi için SymPy kodlayıcısı ile Fortran alt yordamı oluştur
- 18. Python - txt dosyası
- 19. Semptom mantığı sadeleştirin
- 20. Python bir değişken için denklemi çözme
- 21. İfade pozitif olup olmadığını belirleyebilir mi?</p> <pre><code>import sympy x = sympy.Symbol(x, real=True) expr = sympy.sin(x) + 1 </code></pre> <p>Sympy nasılsa <code>expr >= 0</code> daima doğru olduğunu belirleyebilir:
- 22. Taban olarak bir kayan noktalı logaritmaları değerlendirmiyor
- 23. Polinom fonksiyon
- 24. Hata: function() en az n argümanı alır (n)
- 25. Ayar Varsayımlar
- 26. Semptomu kullanarak bir ifadenin tamamlayıcısı nasıl bulunur?
- 27. "Sempati" Mathematica'dan çok daha yavaş olabilir mi?
- 28. Julia: Sembolik bir ifadeyi bir işleve nasıl dönüştürebilirim?
- 29. sympy.lcm terimleri doğru genişletmiyor
- 30. Semptomda, ratsimp'in kesir olmayan bir unsuru da basitleştirmesi mümkün mü? Bu pasajı ile
sadece (haritayı kullanabilirsiniz Could):
zip
kullanılarak anında birdict
oluşturabilirim? http://docs.python.org/2/library/functions.html#map – Samizdishttp://Whathaveyoutried.com –
SO'ya hoş geldiniz! Kodu gönderme ve denediğiniz şeyin bazı özellikleri burada tavsiye edilir, lütfen SSS bölümünü okuyun ve umarım daha iyi cevaplar alabilirsiniz! – span