2

(2**(1/2)*y**(1/2)/2)**2fromから0toの積分を解こうとしています(ここ5にも表示されています)。私は使ってきました

func = lambda y: (  2**(1/2) * y**(1/2)/2  )**2 and a == 0 and b == 5
from scipy import integrate
integrate.quad(func, a b)

何らかの理由で、私は値1.25を取得し続けますが、wolframはそれが6.25であるべきだと言いますか?エラーに指を置くことができないようです。

エラーkatrieについて申し訳ありませんが、Pythonが論理積に&&ではなく使用することを忘れました


解決済み: これはばかげたint/floatエラーでした。みんなありがとう。

4

3 に答える 3

3

さて、関数を通常の数学表記で書いてみましょう(Pythonでは考えられません)。**混乱するので、私は好きではありません:

(2**(1/2)*y**(1/2)/2)**2      =>
(2^(1/2) * (1/2) * y^(1/2))^2 =>
2 * (1/4) * y                 =>
y / 2

したがって、統合するには、差別化を解除します(私はただ声を出して考えています):

antidifferentiate(y / 2) = y^2 / 4

したがって

integral('y / 2', 0, 5) =
5^2 / 4 - 0^2 / 4 =
25 / 4 = 
6.25

右。に置き換え1/2てみました0.5か?これは、切り上げられた2つの整数の商として解釈できます。

これを試してください(他の人が示唆しているように):

func = lambda y: (2**(0.5) * y**(0.5) / 2.0)**2.0 & a == 0 & b == 5

from scipy import integrate
integrate.quad(func, a b) # What's 'a b'? Maybe 'a, b' would work?

幸運を!

于 2010-12-15T04:36:21.927 に答える
2

問題は、Pythonが(1/2)整数除算でそれを認識して評価し、ゼロを生成することです。

于 2010-12-15T04:56:40.560 に答える
0

さて、その価値は何でしょうか?また、方程式にはもっと括弧を入れる必要があります。何(2**(1/2)*y**(1/2)/2)**2が解析されるのかわかりません。

于 2010-12-15T04:14:14.373 に答える