|
> No.3277[元記事へ]
GAIさんへのお返事です。
> 4つが複雑に絡み合う漸化式で
> a[n]=(a[n-1]+b[n-1])/2;
> b[n]=sqrt(a[n-1]*b[n-1]);
> c[n]=(c[n-1]/(4*a[n]))^2;
> s[n]=s[n-1]-2^n*c[n];
> ただし
> a[0]=1;b[0]=1/sqrt(2);c[0]=1/2;s[0]=1/2
> とする。
>
> このとき
> 2*a[n]^2/s[n](as n-->∞)を調べたい。
結果は、Πでしょうか!?
nを1、n-1を0と置き換える。
a[n]=(a[n-1]+b[n-1])/2は、a1=(a0+b0)/2となる。
OPTION ARITHMETIC DECIMAL_HIGH
LET a0=1
LET b0=1/SQR(2)
LET c0=1/2
LET s0=1/2
FOR n=1 TO 20
LET a1=(a0+b0)/2
LET b1=SQR(a0*b0)
LET c1=(c0/(4*a1))^2
LET s1=s0-2^n*c1
PRINT n; 2*a1^2/s1 - PI
LET a0=a1 !次へ
LET b0=b1
LET c0=c1
LET s0=s1
NEXT n
END
次のように記述できるが実用的ではありません。(同じ値を何度も計算するため)
n=15は、困難ですね。
OPTION ARITHMETIC DECIMAL_HIGH
FUNCTION a(n)
IF n=0 THEN LET a=1 ELSE LET a=(a(n-1)+b(n-1))/2
END FUNCTION
FUNCTION b(n)
IF n=0 THEN LET b=1/SQR(2) ELSE LET b=SQR(a(n-1)*b(n-1))
END FUNCTION
FUNCTION c(n)
IF n=0 THEN LET c=1/2 ELSE LET c=(c(n-1)/(4*a(n)))^2
END FUNCTION
FUNCTION s(n)
IF n=0 THEN LET s=1/2 ELSE LET s=s(n-1)-2^n*c(n)
END FUNCTION
FOR n=1 TO 12
PRINT n; 2*a(n)^2/s(n) - PI
NEXT n
END
|
|