(無題)

 投稿者:南澤  投稿日:2012年 5月18日(金)19時15分26秒
  たびたびすみません。

LET T=0
FOR i=1 TO 100
   LET T=T+(1/i^2)
NEXT i
PRINT T
END

二番目のTn:=n Σ i=1 1/i^2,は此れであっているのでしょうか?
 

Re: (無題)

 投稿者:南澤  投稿日:2012年 5月18日(金)19時34分4秒
  > No.1870[元記事へ]

付け足しなのですが、
nを1、10,100…と階乗させていき、其れを計算させることは可能でしょうか?
説明が下手ですみません;
 

Re: (無題)

 投稿者:山中和義  投稿日:2012年 5月18日(金)20時27分22秒
  > No.1870[元記事へ]

南澤さんへのお返事です。

> たびたびすみません。
>
> LET T=0
> FOR i=1 TO 100
>    LET T=T+(1/i^2)
> NEXT i
> PRINT T
> END
>
> 二番目のTn:=n Σ i=1 1/i^2,は此れであっているのでしょうか?

あっています。理論値は、n→∞として、π^2/6です。


> N=1,10,100,1000,…

収束していくのが見えます。

110 LET M=0 !区間[M+1,N]
120 LET N=1
130 LET T=0 !和
140 DO WHILE N<=100000 !終端
150    FOR i=M+1 TO N !継続させる T[N]=T[M]+Σ[i=M+1,N]
160       LET T=T+(1/i^2)
170    NEXT i
180    PRINT N;T; PI^2/6 !結果を表示する
190    LET M=N !次へ
200    LET N=N*10 !1,10,100,1000,… 10倍
210 LOOP
220 END


N=1のとき
 T[1]=1/1^2
N=10のとき
 T[10]=T[1] + 1/2^2+1/3^2+ … +1/10^2
 T[1]は既に算出しているので、それ以降の2から10までを計算すればよい。
N=100のとき
 T[100]=T[10] + 1/11^2+1/12^2+ … +1/100^2
 T[10]は既に算出しているので、それ以降の11から100までを計算すればよい。
N=1000のとき
 T[1000]=T[100] + 1/101^2+1/102^2+ … +1/1000^2
 T[100]は既に算出しているので、それ以降の101から1000までを計算すればよい。

 :
 :
 

Re: (無題)

 投稿者:山中和義  投稿日:2012年 5月19日(土)13時01分48秒
  > No.1872[元記事へ]

別解

> N=1,10,100,1000,…

等比数列(Nの数列)の部分もFOR文で記述できるので、二重のFOR文によるループで実現します。

110 LET T=0 !和
120 LET M=0 !区間[M+1,N]
130 FOR K=0 TO 5
140    LET N=10^K !1,10,100,1000,…
150    FOR i=M+1 TO N !継続させる T[N]=T[M]+Σ[i=M+1,N]
160       LET T=T+(1/i^2)
170    NEXT i
180    PRINT N;T; PI^2/6 !結果を表示する
190    LET M=N !次へ
200 NEXT K
210 END



別解

> N=1,10,100,1000,…

Σ(1/i^2)で、i=1,2,3,…,10,…,100,…,1000,…の1,10,100,1000,…のタイミングで表示してもよいでしょう。


110 LET T=0 !和
120 LET K=0
130 LET M=1
140 FOR i=1 TO 10000 !1,2,3,4,…,9999,10000
150    LET T=T+(1/i^2) !Σ(1/i^2)
160    IF i=M THEN !等比数列1,10,100,…
170       LET M=M*10
180       PRINT i;T; PI^2/6 !結果を表示する
190    END IF
200 NEXT i
210 END

 

Re: (無題)

 投稿者:南澤  投稿日:2012年 5月19日(土)19時21分47秒
  ありがとうございます。
Σの一つの式なら段々わかって来ました。

また質問なのですが、
複数の式を一つのプログラムに纏めて計算させることも出来ると聞きました。
Σの計算に、その方法もあるのでしょうか?
 

Re: (無題)

 投稿者:山中和義  投稿日:2012年 5月19日(土)20時08分30秒
  > No.1874[元記事へ]

南澤さんへのお返事です。

> 複数の式を一つのプログラムに纏めて計算させることも出来ると聞きました。
> Σの計算に、その方法もあるのでしょうか?

100    100
Σ(1/i) と Σ(1/i^2) を計算するプログラム
i=1    i=1

110 LET S=0
120 LET T=0
130 FOR i=1 TO 100
140    LET S=S+(1/i)
150    LET T=T+(1/i^2)
160 NEXT i
170 PRINT S;T
180 END

という意味でしょうか?
 

Re: (無題)

 投稿者:南澤  投稿日:2012年 5月19日(土)20時16分13秒
  ありがとうございます。
これにもう一つの式を足せば、
三つを一遍に計算出来ると言うことでしょうか?
 

Re: (無題)

 投稿者:山中和義  投稿日:2012年 5月19日(土)20時58分14秒
  > No.1876[元記事へ]

南澤さんへのお返事です。

> これにもう一つの式を足せば、三つを一遍に計算出来ると言うことでしょうか?

そうです。

先のプログラムは、

110 LET S=0
120 FOR i=1 TO 100
130    LET S=S+(1/i)
140 NEXT i
150 PRINT S
160 LET T=0
170 FOR i=1 TO 100
180    LET T=T+(1/i^2)
190 NEXT i
200 PRINT T
210 END

と同じで、FOR-NEXT文が共通なので、まとめて記述したということです。
 

戻る