吳揚(yáng)帆
摘要
Excel具有非常強(qiáng)大的數(shù)值計算功能,不需編程也能求解很多復(fù)雜數(shù)值計算問題。本文以累加、連乘、遞推、分類統(tǒng)計問題為例,介紹基本數(shù)值算法的Excel實現(xiàn)方法。
【關(guān)鍵詞】Excel 算法 數(shù)值計算
1 引言
對于求解一些數(shù)據(jù)量大且有一定復(fù)雜性的問題,人們往往想到運用計算機(jī)程序設(shè)計語言編程但專業(yè)的編程語言不易為普通人掌握。Excel作為大眾比較熟悉的常用軟件之一,其實也可以用來解決基本數(shù)值算法問題,在這些場合它可以替代程序設(shè)計語言。本文以幾種常用數(shù)值算法為例,闡述Excel實現(xiàn)這些數(shù)值算法的方法。
2 累加算法的Excel實現(xiàn)
累加算法是求解很多數(shù)據(jù)之和的方法,在計算機(jī)中是通過逐步累加數(shù)據(jù)實現(xiàn)的。如求π=4/1-4/3+4/5-4/7+…。這是求圓周率的近似公式,累加的數(shù)據(jù)項越多,結(jié)果越接近精確值。發(fā)現(xiàn)第i項的通式為
;*是乘號,A是乘方,/是除號;i=l,2,…??梢赃@樣用Excel計算:用第A列輸入序號i,用第B列來顯示累加和。在第1行的A1和B1單元格分別輸入字母“i”和“π”作為標(biāo)題行;然后在A2和A3單元格分別輸入0和1,接著選定A2和A3單元格后用“自動填充柄”沿A列向下拖即可迅速得出其它數(shù)字序號。在B2單元格輸入累加和初值0,在B3單元格輸入累加第1項后的結(jié)果式,該式應(yīng)該等于前一個π值與第1項之和,注意:前一個π值應(yīng)該用上一個單元格引用B2表示,而第1項的i值應(yīng)該用單元格名字A3表示。因此,B3單元格輸入的公式是“=B2+(-l)∧(A3-l)*4/(2*A3-1)”,按回車鍵后即算出當(dāng)前結(jié)果為4。然后用“自動填充柄”沿B列往下拖迅速復(fù)制公式,得出更多項被累加后的和值。如圖1所示(為了節(jié)省編幅,圖1中隱藏了第5?999行)。
3 連乘算法的Excel實現(xiàn)
連乘算法是求很多數(shù)據(jù)之乘積的方法,在計算機(jī)中是通過逐步乘以每個數(shù)據(jù)實現(xiàn)的。如求階乘n!=l×2×3×…×n。在Excel中可以用如下方法實現(xiàn)該算法:在第1行的A1和B1單元格分別輸入字母“n”和“n!”作為標(biāo)題行;然后在A2和A3單元格分別輸入0和1,接著用“自動填充柄”沿A列縱向拖出其它數(shù)字序號。在B2單元格輸入連乘的初始值1;在B3單元格輸入乘了第1個數(shù)“1”后的結(jié)果表達(dá)式,該式應(yīng)該等于上一個階乘值與第1個數(shù)“1”相乘;注意:上一個階乘值應(yīng)該用上一個單元格引用B2表示,而第1個被乘的數(shù)應(yīng)該用對應(yīng)的單元格名字A3表示;因此,B3單元格輸入的公式是“=B2*A3”,按回車鍵后即算出當(dāng)前結(jié)果為1。然后用“自動填充柄”沿B列縱向往下拖,即可得出各數(shù)所對應(yīng)的階乘值。如圖2所示(為了節(jié)省版面,圖2中隱藏了第5?11行)。
4 遞推算法的Excel實現(xiàn)
例:猴子吃桃問題。小猴在一天摘了若干個桃子,當(dāng)天吃掉一半多一個;第二天接著吃了剩下的桃子的一半多一個;以后每天都吃尚存桃子的一半零一個,到第7天早上要吃時只剩下一個了,問小猴那天共摘了多少個桃子?這是一個典型“遞推”問題,先從第7天桃子數(shù)推出第6天的桃子數(shù),再從第6天的桃子數(shù)推出第5天的桃子數(shù),……。設(shè)第n天的桃子數(shù)為X,第n-1天的桃子數(shù)為y,則有關(guān)系x=y/2-l,因此,y=2(x+l)。在Excel中可以用如下方法實現(xiàn)該算法:在第1行的A1和B1單元格分別輸入字母“第n天”和“桃子數(shù)”作為標(biāo)題行;然后在A2到A8單元格分別輸入天數(shù)7到1。在B2單元格輸入第7天的桃子數(shù)“1”,在B3單元格輸入第6天桃子數(shù)的遞推計算公式“=2*(B2+1)”(由第7天的桃子數(shù)B2作為己知數(shù)),按回車鍵后即算出第6天桃子數(shù)為4。然后用自動填充法沿B列往下拖復(fù)制公式,即可得出各天對應(yīng)的桃子數(shù),發(fā)現(xiàn)第1天桃子數(shù)為190,如圖3所示。
5 分類統(tǒng)計算法的Excel實現(xiàn)
例如要對99個學(xué)生的成績分類統(tǒng)計各分?jǐn)?shù)段的人數(shù)。如圖4所示,可將成績數(shù)據(jù)粘貼到A2?A100列中,然后分別在C2?C5單元格輸入圖4所示的COUNTIF函數(shù)公式,按回車鍵后即可求出結(jié)果。如果總?cè)藬?shù)發(fā)生變化,只要修改公式中“A100”這里的數(shù)字即可。
3 結(jié)語
本文通過挖掘Excel公式計算的強(qiáng)大功能,闡述了用Excel實現(xiàn)累加、連乘、遞推、分類統(tǒng)計這些常用算法的方法。這里需要重點掌握Excel公式的表示法,參數(shù)的單元格表示法,以及自動填充法等操作技巧。
參考文獻(xiàn)
[1]張志勇.Excel與算法實現(xiàn)[J].中小學(xué)電教,2007(07).
[2]宋云飛.Excel在一些數(shù)值算法中的應(yīng)用[J].東北電力大學(xué)學(xué)報,2013(05).
[3]張辰陽.Excel在高中數(shù)學(xué)學(xué)習(xí)中的應(yīng)用技巧[J].電子技術(shù)與軟件工程,2016(14).