seriessum関数の正しい使い道を模索してみた。
r070414 主にグーグルドライブで作成したがダウンロードしてエクセルとリブレオフィスの分も追加した。都合により数学的な式の画像とセル式を分離した。
(r070416 式1~5の画像が少々ぼけていたので変更)
「べき級数 円周率」で検索
https://www.procrasist.com/entry/pi_1 (PROCRASISTさん)
(式1)
(式2)
(式3) ラマヌジャン式
「ラマヌジャン」で検索
https://mathlog.info/articles/3583 (Mathlogさん)
(式4) ラマヌジャンの円周率公式
(式5) Chudnovskyの公式
エクセルにて
(表)
(式1)
c5= {=(SERIESSUM(1,1,1,ROW(INDIRECT("A1:A"&B5))^-2)*6)^0.5} (配列数式)
d5= {=SUM((ROW(INDIRECT("A1:A"&B5))^-2)*6)^0.5} (配列数式)
(式2)
c6= {=SERIESSUM(-1,0,1,1/(2*(ROW(INDIRECT("A1:A"&B6))-1)+1))*4} (配列数式)
d6= {=SUM((-1)^(ROW(INDIRECT("A1:A"&B6))-1)/(2*(ROW(INDIRECT("A1:A"&B6))-1)+1))*4} (配列数式)
(式3)
c7= {=SERIESSUM(-1*882^-2*4^-4,0,1,FACT((ROW(INDIRECT("A1:A"&B7))-1)*4)*(1123+21460*(ROW(INDIRECT("A1:A"&B7))-1))*FACT(ROW(INDIRECT("A1:A"&B7))-1)^-4/882)^-1*4} (配列数式)
d7= {=SUM((-1)^(ROW(INDIRECT("A1:A"&B7))-1)*FACT(4*(ROW(INDIRECT("A1:A"&B7))-1))*(1123+21460*(ROW(INDIRECT("A1:A"&B7))-1))*882^-(2*(ROW(INDIRECT("A1:A"&B7))-1)+1)*(4^(ROW(INDIRECT("A1:A"&B7))-1)*FACT(ROW(INDIRECT("A1:A"&B7))-1))^-4)^-1*4} (配列数式)
(式4)
c8= {=(SERIESSUM(396^-4,0,1,FACT(4*(ROW(INDIRECT("A1:A"&B8))-1))*(FACT(ROW(INDIRECT("A1:A"&B8))-1))^-4*(26390*(ROW(INDIRECT("A1:A"&B8))-1)+1103))*2^(3/2)*99^-2)^-1} (配列数式)
d8= {=(SUM(FACT(4*(ROW(INDIRECT("A1:A"&B8))-1))*FACT(ROW(INDIRECT("A1:A"&B8))-1)^-4*(26390*(ROW(INDIRECT("A1:A"&B8))-1)+1103)*396^(-4*(ROW(INDIRECT("A1:A"&B8))-1)))*2^(3/2)*99^-2)^-1} (配列数式)
(式5)
c9= {=(12*SERIESSUM(640320^-3,0,1,-1^(ROW(INDIRECT("A1:A"&B9))-1)*FACT(6*(ROW(INDIRECT("A1:A"&B9))-1))*FACT(3*(ROW(INDIRECT("A1:A"&B9))-1))^-1*FACT(ROW(INDIRECT("A1:A"&B9))-1)^-3*(545140134*(ROW(INDIRECT("A1:A"&B9))-1)+13591409)*640320^-(3/2)))^-1} (配列数式)
d9= {=(12*SUM(-1^(ROW(INDIRECT("A1:A"&B9))-1)*FACT(6*(ROW(INDIRECT("A1:A"&B9))-1))*FACT(3*(ROW(INDIRECT("A1:A"&B9))-1))^-1*FACT(ROW(INDIRECT("A1:A"&B9))-1)^-3*(545140134*(ROW(INDIRECT("A1:A"&B9))-1)+13591409)*640320^-(3*(ROW(INDIRECT("A1:A"&B9))-1)+3/2)))^-1} (配列数式)
f2= =PI()
e5:e9= {=C5:C9-D5:D9} (配列数式)
f5:g9= {=C5:D9-$F$2} (配列数式)
グーグルドライブのスプレッドシートにて
(表)
(式1)
c5= =ArrayFormula((SERIESSUM(1,1,1,ROW(indirect("A1:A"&B5))^-2)*6)^0.5)
d5= =ArrayFormula(SUM((ROW(indirect("A1:A"&B5))^-2)*6)^0.5)
(式2)
c6= =ArrayFormula(SERIESSUM(-1,0,1,1/(2*(ROW(indirect("A1:A"&B6))-1)+1))*4)
d6= =ArrayFormula(sum((-1)^(ROW(indirect("A1:A"&B6))-1)/(2*(ROW(indirect("A1:A"&B6))-1)+1))*4)
(式3)
c7= =ArrayFormula(SERIESSUM(-1*882^-2*4^-4,0,1,FACT((ROW(indirect("A1:A"&B7))-1)*4)*(1123+21460*(ROW(indirect("A1:A"&B7))-1))*FACT(ROW(indirect("A1:A"&B7))-1)^-4/882)^-1*4)
d7= =ArrayFormula(SUM((-1)^(row(indirect("A1:A"&B7))-1)*fact(4*(row(indirect("A1:A"&B7))-1))*(1123+21460*(row(indirect("A1:A"&B7))-1))*882^-(2*(row(indirect("A1:A"&B7))-1)+1)*(4^(row(indirect("A1:A"&B7))-1)*fact(row(INDIRECT("A1:A"&B7))-1))^-4)^-1)*4
(式4)
c8= =ArrayFormula(seriessum(396^-4,0,1,fact(4*(row(indirect("A1:A"&B8))-1))*(fact(row(indirect("A1:A"&B8))-1))^-4*(26390*(row(INDIRECT("A1:A"&B8))-1)+1103))*2^(3/2)*99^-2)^-1
d8= =ArrayFormula(sum(fact(4*(row(indirect("A1:A"&B8))-1))*fact(row(indirect("A1:A"&B8))-1)^-4*(26390*(row(indirect("A1:A"&B8))-1)+1103)*396^(-4*(row(indirect("A1:A"&B8))-1)))*2^(3/2)*99^-2)^-1
(式5)
c9= =ArrayFormula(12*seriessum(640320^-3,0,1,-1^(row(indirect("A1:A"&B9))-1)*fact(6*(row(indirect("A1:A"&B9))-1))*fact(3*(row(indirect("A1:A"&B9))-1))^-1*fact(row(indirect("A1:A"&B9))-1)^-3*(545140134*(row(indirect("A1:A"&B9))-1)+13591409)*640320^-(3/2)))^-1
d9= =ArrayFormula(12*sum(-1^(row(indirect("A1:A"&B9))-1)*fact(6*(row(indirect("A1:A"&B9))-1))*fact(3*(row(indirect("A1:A"&B9))-1))^-1*fact(row(indirect("A1:A"&B9))-1)^-3*(545140134*(row(indirect("A1:A"&B9))-1)+13591409)*640320^-(3*(row(indirect("A1:A"&B9))-1)+3/2)))^-1
f2= =pi()
e5:e9= =ArrayFormula(C5:C9-D5:D9)
f5:g9= =ArrayFormula(C5:D9-$F$2)
リブレオフィスにて
(表)
(式1)
c5= {=(SERIESSUM(1,1,1,ROW(INDIRECT("A1:A"&B5))^-2)*6)^0.5} (配列数式)
d5= {=SUM((ROW(INDIRECT("A1:A"&B5))^-2)*6)^0.5} (配列数式)
(式2)
c6= {=SERIESSUM(-1,0,1,1/(2*(ROW(INDIRECT("A1:A"&B6))-1)+1))*4} (配列数式)
d6= {=SUM((-1)^(ROW(INDIRECT("A1:A"&B6))-1)/(2*(ROW(INDIRECT("A1:A"&B6))-1)+1))*4} (配列数式)
(式3)
c7= {=SERIESSUM(-1*882^-2*4^-4,0,1,FACT((ROW(INDIRECT("A1:A"&B7))-1)*4)*(1123+21460*(ROW(INDIRECT("A1:A"&B7))-1))*FACT(ROW(INDIRECT("A1:A"&B7))-1)^-4/882)^-1*4} (配列数式)
d7= {=SUM((-1)^(ROW(INDIRECT("A1:A"&B7))-1)*FACT(4*(ROW(INDIRECT("A1:A"&B7))-1))*(1123+21460*(ROW(INDIRECT("A1:A"&B7))-1))*882^-(2*(ROW(INDIRECT("A1:A"&B7))-1)+1)*(4^(ROW(INDIRECT("A1:A"&B7))-1)*FACT(ROW(INDIRECT("A1:A"&B7))-1))^-4)^-1*4} (配列数式)
(式4)
c8= {=(SERIESSUM(396^-4,0,1,FACT(4*(ROW(INDIRECT("A1:A"&B8))-1))*(FACT(ROW(INDIRECT("A1:A"&B8))-1))^-4*(26390*(ROW(INDIRECT("A1:A"&B8))-1)+1103))*2^(3/2)*99^-2)^-1} (配列数式)
d8= {=(SUM(FACT(4*(ROW(INDIRECT("A1:A"&B8))-1))*FACT(ROW(INDIRECT("A1:A"&B8))-1)^-4*(26390*(ROW(INDIRECT("A1:A"&B8))-1)+1103)*396^(-4*(ROW(INDIRECT("A1:A"&B8))-1)))*2^(3/2)*99^-2)^-1} (配列数式)
(式5)
c9= {=(12*SERIESSUM(640320^-3,0,1,-1^(ROW(INDIRECT("A1:A"&B9))-1)*FACT(6*(ROW(INDIRECT("A1:A"&B9))-1))*FACT(3*(ROW(INDIRECT("A1:A"&B9))-1))^-1*FACT(ROW(INDIRECT("A1:A"&B9))-1)^-3*(545140134*(ROW(INDIRECT("A1:A"&B9))-1)+13591409)*640320^-(3/2)))^-1} (配列数式)
d9= {=(12*SUM(-1^(ROW(INDIRECT("A1:A"&B9))-1)*FACT(6*(ROW(INDIRECT("A1:A"&B9))-1))*FACT(3*(ROW(INDIRECT("A1:A"&B9))-1))^-1*FACT(ROW(INDIRECT("A1:A"&B9))-1)^-3*(545140134*(ROW(INDIRECT("A1:A"&B9))-1)+13591409)*640320^-(3*(ROW(INDIRECT("A1:A"&B9))-1)+3/2)))^-1} (配列数式)
f2= =PI()
e5:e9= {=C5:C9-D5:D9} (配列数式)
f5:g9= {=C5:D9-$F$2} (配列数式)
元頁(blogger)は2023.04.28 19:07公開
余談1
n乗の部分が多いとseriessum関数が効率化に役立つ感じかな。
余談2 r070414 余談3にあわせて文頭を微修正
表の最初の2行、個数が多くなると誤差も大きくなるのは仕方ない。200万にしても多分もっと増やしても正解には近づかない。あと関数で組み立てた式が本当に合っているのか検証できないのも困りもの(特に下の3つ)w 今回はよく知られた定数だから良いが、多分本来の使い方はもっと未知の数字を求めるのだと思う。色々と大変そうだ。
余談3 r070414追記
表の下の3行はもう一つプラスするとpi()との誤差がゼロになる(この表の精度の限界)。リブレオフィスだけは近似が良くない。と思ってよく見たら定数pi()の精度が悪いだけだった。
余談4 r070414追記
グーグルドライブで作った次の式を
=arrayformula(<中略>)^-1
エクセルやリブレオフィスのファイルとしてダウンロードすると
={<中略>^-1} (配列数式)
となってしまいエラーだったり異なる結果になったりする場合がある。
={(<中略>)^-1} (配列数式)
に修正することで正常化できた。arrayformula関数の()を頼ると失敗の元。次からは作成時に気を付けようと思う。
余談5 r070414追記
また引っ越し先を考えなくてはならないようだ。
余談6 没画像 r070416