2014-01-19 44 views
0

我試圖開發一個包含自定義函數的集合(或列表)的程序,如如下:數學方程式爲Python對象

x = ["f1(x)=x^2", "f2(x)=2x+1", ...] 

之後,我可以使用matplotlib和渲染它們,等等。

問題

  1. 我怎麼可能替換對象的字符串?例如,"x"x變量,我可以在matplotlib中呈現公式?
  2. 有沒有現成的模塊可以完成我想要做的事情?
+4

看看['sympy'](http://sympy.org/en/index.html)。 – Bakuriu

+0

你在找什麼像[eval](http://stackoverflow.com/questions/9383740/what-does-pythons-eval-do)? – Mehdi

+0

@Mehdi鑑於字符串甚至不是遠程有效的Python,我認爲可以安全地說「不」。 – delnan

回答

1

嗯,這要看。如果你想要做的是評估的功能(繪製他們或其他),然後就宣佈它們爲功能:

X = { "f1": lambda x: x**2, "f2": lambda x: 2*x+1 } 

如果你想對他們象徵性地操作,如發現它們的衍生物,反轉他們等等,那麼你需要像SAGE或sympy這樣的東西,它們將它們表示爲符號表達式而不是python字節碼。