2014-10-30 65 views
1

我想使用的功能集成例如變量在評估上的積分的變量:功能爲一體

E 1(COS(X))F(SIN(X))DCOS(x)的

其中f(x)是一個任意函數。

如何更改積分變量,以便通過dcos(x)而不是dx(默認情況下)進行積分?

編輯:

當評估一個整體,如* X + B,可以通過以下方式對其進行評估:

def f(x,a,b): 
    return a*x+b 

    print quadrature(f,0,1,args=(2,3)) 

在這個例子中積分變量爲dx,但現在我想要將積分變量改變爲一個函數,比如x ** 2(我知道這可以通過解析方式解決,但我想將它應用到一個不能解析的函數上),或者cos(x )。

+0

請檢查http://stackoverflow.com/help/mcve併發布有關該問題的一些具體細節... – Aditya 2014-10-30 15:11:04

+0

我只是不明白你的問題的一個單詞。不是每個人都有數學學位你知道,我們中的一些人只是程序員... – 2014-10-30 15:12:35

+0

對不起,我已經把它變成了一個更容易理解的語言。但我認爲這個問題將會由至少了解第一部分的人來回答,因爲這是大學一年級的微積分。 – johnbaltis 2014-10-30 15:20:51

回答

1

您似乎在問如何爲您製作numpy/scipy更改集成變量。這通常需要符號計算(在你的例子中:你需要使用正弦和餘弦之間的關係),而scipy沒有這個。

你最好的辦法是用紙和鉛筆來計算變量的變換,記下所得的積分,並用scipy來評估它。

如果您在python land中查找符號計算工具,請查看sympy

編輯:當然,你總是可以品嚐上的x網格的功能,使用插值來構造的隱函數,並集成了[在你的例子:上x網格樣品f(x)cos(x),插值f VS xx vs cos(x)]。也許你的具體問題是這樣的,它實際上是值得的,所以YMMV。

+0

我不是在尋找一個符號計算,因爲它不存在這個特定的問題,所以用手工處理它也是不可能的。 – johnbaltis 2014-10-30 15:44:27

+0

這不會改變scipy是否可以改變整合變量的問題的答案:它不能。 – 2014-10-30 15:46:43

+0

它可能不是直接可能的,但是這個問題必須在數字上可以解決,這已經在文獻中多次完成,但不幸的是,它們從未指定它們的方法。 – johnbaltis 2014-10-30 15:50:07