我有一些功能設置是這樣的:如何評估與某個數字的集成?
f(x):=1-2**-x$
g(y):=integrate(f(x), x, 0, y)$
和評價他們:
f(1)$float(%);
g(1)$float(%);
但克(1),我得到了一個象徵性的,而不是答案的數值答案。使用float()試圖獲得數值答案,但它只是將所有的積分項轉換爲浮點數。
我怎樣才能得到g(1)作爲一個數字?
我有一些功能設置是這樣的:如何評估與某個數字的集成?
f(x):=1-2**-x$
g(y):=integrate(f(x), x, 0, y)$
和評價他們:
f(1)$float(%);
g(1)$float(%);
但克(1),我得到了一個象徵性的,而不是答案的數值答案。使用float()試圖獲得數值答案,但它只是將所有的積分項轉換爲浮點數。
我怎樣才能得到g(1)作爲一個數字?
爲什麼不這樣做(用定積分的定義):
f(x):=1-2**-x$
gg(x):=''(integrate(f(x), x))$
g(y):=gg(y) - gg(0)$
「(引號引號)運算符用於強制的評估:='
的右手側的分配前。
如果您只對數值解法感興趣,那麼您可以使用數值積分。 例如,您可以使用quad_qag (f(x), x, a, b, key, [epsrel, epsabs, limit])
。
我嘗試:
f(x) := 1-2^(-x);
g(y):= quad_qag(f(x), x, 0, y, 3, epsrel=10d-8)$
g(1);
它返回:
[0.27865247955552,3.093663986714272*10^-15,31,0]
的第一個條目是數值解,
的第二個條目是近似相對誤差,
的第三項是實現解決方案所需的迭代次數,
最後一項是錯誤代碼;錯誤代碼是
順便說一句,確切的解決方案是大約0.27865的1-1 /(2 * log(2))。
您使用的是Wolfram Mathematica嗎? – Elalfer
[Maxima](http://maxima.sourceforge.net/) – david4dev