2010年11月19日 星期五

Excel-產生連續的數列來運算(二)

上一篇:Excel-產生連續的數列來運算(http://isvincent.blogspot.com/2010/11/excel_18.html)提到連續數列的產生,這次拿它進一步做一些運算。

例如:傳統上要計算1-1/2+1/3-1/4+1/5-1/6 …,根據下圖右的運算,

儲存格B3:=-1*((MOD(ROW(A3),2))*2-1)*(1/A3)

儲存格C3:=SUM($I$2:I3),複製儲存格B3:C3,並往下貼上。可求得累加的結果。

如果運用連續的數列來運算,則可以這樣做:

儲存格F2:

=SUM((MOD(ROW($A$1:INDIRECT("A"&E2)),2)*2-1)*(1/ROW($A$1:INDIRECT("A"&E2))))

這是陣列公式,輸入完成後,要按Ctrl+Alt+Enter鍵。

其中:

MOD(ROW($A$1:INDIRECT("A"&E2)),2)*2-1,產生+1,-1,+1,-1, …的符號。

1/ROW($A$1:INDIRECT("A"&E2)),產生1,2,3,4, …的數列。

{+1,-1,+1,-1, …} X {1,1/2,1/3,1/4 …}的和即是答案。

例如:要計算1-1/2+1/4-1/8+1/16-1/32 …,根據下圖右的運算,

儲存格I3:=-1*((MOD(ROW(H3),2))*2-1)*(1/(2^(H3-1)))

儲存格J3:=SUM($I$2:I3)

複製儲存格I3:J3,並往下貼上。可求得累加的結果。

如果運用連續的數列來運算,則可以這樣做:

儲存格M2:

{=1+SUM((MOD(ROW($A$2:INDIRECT("A"&L2)),2)*2-1)*(1/2^((ROW($A$2:INDIRECT("A"&L2))-1))))}

這是陣列公式,輸入完成後,要按Ctrl+Alt+Enter鍵。

其中:

MOD(ROW($A$2:INDIRECT("A"&L2)),2)*2-1,產生+1,-1,+1,-1, …的符號。

1/2^((ROW($A$2:INDIRECT("A"&L2))-1)),產生1,-1/2,1/4,-1/8,1/16, …的數列。

{+1,-1,+1,-1, …} X {1,-1/2,1/4,-1/8,1/16, …}的和即是答案。

經測試 n=50 以上,其和已接近0.66666666666667(收斂於此)

自己練習一下,若要計算1+1/2+1/4+1/8+1/16+1/32 …:

只要將儲存格M2改為:{=SUM((1/2^((ROW($A$1:INDIRECT("A"&L2))-1))))}

經測試 n=50 以上,其和已接近2.00000000000000。(收斂於此)

沒有留言:

張貼留言

好康東東