1

指定された x と tau について、Matlab で次の無限和を計算したいと考えています。

インフサム

x=0.5 と tau=1 を指定して、次のコードを試しました。

symsum((8/pi/pi)*sin(n*pi*0.5)*sin(n*pi*0.5)*exp(-n*n*pi*pi)/n/n,1,inf)

しかし、私はこれを取得します:

(228155022448185*sum((exp(-pi^2*n^2)*((exp(-(pi*n*i)/2)*i)/2 - (exp((pi*n*i)/2)*i)/2)^2)/n^2, n == 1..Inf))/281474976710656

合計が収束すると仮定して、明示的な値が必要です。私は何を間違っていますか?symsum の結果を返すときに、Matlab が exp() を計算しないようです。指数関数を評価するように Matlab に指示するにはどうすればよいですか?

4

3 に答える 3

2

シンボリック ツールボックスを必要としない別の方法を示すために、

summ  = 0;
summP = inf;
n = 1;
while abs(summP-summ) > 1e-16
    summP = summ;    
    summ = summ + sin(n*pi*0.5)*sin(n*pi*0.5)*exp(-n*n*pi*pi)/n/n;
    n = n + 1;
end

8/pi/pi * summ

これは 1 回の反復で収束します (exp(-4*6.28..)/n/nは非常に小さく、sin(..)常に のどこかにあるため、明らか[-1 1]です)。したがって、 と が与えられるtau==1x==0.5、無限和は本質的に の値になりn==1ます。

于 2013-04-12T08:04:32.157 に答える
0

まず、syms を使用して変数 "n" を定義する必要があります。次に、この変数を symsum コードに含めることができます。

これが私がしたことです:

syms n; AA = symsum((8/pi/pi)*sin(n*pi*0.5)*sin(n*pi*0.5)*exp(-n*n*pi*pi)/n/n,n,1,inf); BB = double(AA)
BB = 4.1925e-05
于 2016-05-19T07:45:54.167 に答える