2010-11-09 60 views
1

我想/我的問題很簡單,但我似乎沒有找到答案(是的,我做了Googleing的pleny)。我想要做的是能夠區分或集成動態給定一個方程。例如:PHP,Javascript或C#中的差異化或不確定性集成?

的diff((X^2)/(15 * X^4-32 * X^5)中,x)

將返回:

20 * (8 * x^4-3 * x^3)* x^2 /(32 * x^5-15 * x^4)^ 2-2 * x /(32 * x^5-15 * x^4 )

我知道PHP,JavaScript和C#,所以任何工作,但我真的需要某種軟件可以做到這一點。我試過SAGE,但它更像是一個服務器,然後是一個軟件,再加上它是在Python中。

如果我甚至可以給Google一些關鍵字,那也是有幫助的。

在此先感謝您的回覆!

+0

爲什麼你不能做到這一點數值? – vichle 2010-11-09 15:13:02

+0

你是什麼意思? – Nitroware 2010-11-11 01:31:59

+0

看到這個答案:https://stackoverflow.com/questions/4071456/opensouce-cc-math-expression-parser-library/4077062#4077062 – lhf 2010-11-09 15:12:54

回答

1

您可能想試試谷歌搜索計算機代數系統/庫,其中SAGE就是一個例子。還有其他的,如Maxima和Axiom。維基百科上有一個列表。如果這些都不合適,您可以隨時撥打Wolfram Alpha

+0

我真的很喜歡SAGE,但唯一的問題是,我不知道如何安裝它,我必須做批量,所以Wolfram不適合我。非常好的答案,但謝謝!我只能希望從wolfram獲得API密鑰... – Nitroware 2010-11-11 01:30:25

0

因爲對我們有衍生品

  1. 和/差規則
  2. 恆定倍數規則
  3. 產品規則
  4. 商法則
  5. 鏈式法則
  6. 指數規則(或訣竅,取決於你的教學方式)

...通過遞歸應用這些組合規則,可以從其分析樹計算公式的導數。這對初學者來說是一個很好的練習。演習包括解析,微積分,遞歸等

對於積分,我們有很多的技巧類似(和來自)這些規則,但我們缺乏:對整體

  1. 產品規則(F( (f)和積分(g)直接根據積分(f)和積分(g)來計算積分(f(g(x))) )
  2. 以積分(f)和積分(g)的積分(f(x)/ g(x))的商規則

(部件集成不是#1!替代不是#2!)

由於這些原因,集成基本上比差異化更難。

你可以期望簡單的包能很好地進行分化。但是,有效的,強大的象徵性整合很難實現。要獲得良好的集成,請轉至專家:Maple,Mathematica,Sage,Alpha等。

0

如果您可以發出HTTP請求並使用外部API,請考慮SaturnAPI。它使用Octave/Matlab代碼。鏈接的例子是積分微分方程。

2

由於沒有答案提到JavaScript解決方案。我給它一個鏡頭。

嘗試nerdamer

它有很多整合和差異化的方法。

//Derivative of (x^2)/(15*x^4-32*x^5) 
 
var result = nerdamer('diff((x^2)/(15*x^4-32*x^5),x)').evaluate(); 
 
document.getElementById('text').innerHTML = '<p>'+result.text()+'</p>'; 
 
//Derivative of sin(x^2) + log(x) - 23 + e^(cos(x)) 
 
result = nerdamer('diff(sin(x^2)+log(x)-23+exp(cos(x)),x)').evaluate(); 
 
document.getElementById('text').innerHTML += '<p>'+result.text()+'</p>';
<script src="http://nerdamer.com/js/nerdamer.core.js"></script> 
 
<script src="http://nerdamer.com/js/Algebra.js"></script> 
 
<script src="http://nerdamer.com/js/Calculus.js"></script> 
 
<div id="text"></div>