趙海君 趙青云
(山西師范大學(xué) 物理與信息工程學(xué)院,山西 臨汾041004)
大數(shù)據(jù)時(shí)代,時(shí)時(shí)刻刻都在和數(shù)據(jù)打交道。為了解決人們?cè)趯W(xué)習(xí)、生活以及工作中遇到的一些常見的數(shù)據(jù)計(jì)算問題,利用MATLAB 設(shè)計(jì)出一款實(shí)用的、簡(jiǎn)單的計(jì)算器。該計(jì)算器的操作過程很簡(jiǎn)單,只需使用者按下相應(yīng)按鈕,便能輕松解決以下問題:四則運(yùn)算、對(duì)數(shù)運(yùn)算、指數(shù)運(yùn)算、開平方運(yùn)算等。
MATLAB GUI 是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面,是MATLAB 用戶可視化交互式的工具,運(yùn)用GUI 生成的操作界面,避免了用戶瀏覽繁冗的代碼進(jìn)行操作。實(shí)現(xiàn)了基于MATLAB GUI 的計(jì)算器功能的設(shè)計(jì)。
設(shè)計(jì)計(jì)算器,首先用MATLAB GUI 設(shè)計(jì)一個(gè)計(jì)算器界面,這個(gè)界面要包括加減乘除、三角函數(shù)、對(duì)數(shù)等按鈕,然后編輯程序?qū)崿F(xiàn)相應(yīng)的功能,最后進(jìn)行功能驗(yàn)證。流程如圖1 所示。
圖1 計(jì)算器設(shè)計(jì)流程圖
在MATLAB 中新建一個(gè)GUI 界面,在GUI 界面上繪制一個(gè)面板,面板上繪制一個(gè)靜態(tài)文本框用來顯示輸入和輸出,再繪制30 個(gè)按鈕,每個(gè)按鈕代表一種功能,雙擊按鈕調(diào)出按鈕的屬性檢查器,將按鈕代表的功能標(biāo)注在按鈕上,最后調(diào)整按鈕的大小和顏色、面板的顏色以及整體的布局使計(jì)算器看起來更美觀,界面如圖2 所示:
圖2 計(jì)算器界面
圖3 輸入數(shù)據(jù)
實(shí)現(xiàn)計(jì)算功能,首先要實(shí)現(xiàn)每個(gè)按鈕的功能,通過查看界面上每個(gè)按鈕的回調(diào)函數(shù),編輯程序?qū)崿F(xiàn)每個(gè)按鈕的功能,并進(jìn)行運(yùn)行和調(diào)試。此計(jì)算器可以實(shí)現(xiàn)四則運(yùn)算、平方開方、三角函數(shù)、以10 為底的對(duì)數(shù)、e 指數(shù)以及清除退位功能。以sin(π/2)=1 為例,首先點(diǎn)擊“sin”按鈕,在輸入框中會(huì)看到“sin(”,再輸入π/2,注意在此處還需在輸入右半個(gè)括號(hào),與左半個(gè)括號(hào)構(gòu)成一個(gè)完整的括號(hào)功能,最終輸入的式子如圖3 所示,最后按等于鍵得到計(jì)算結(jié)果,如圖4 所示。
圖4 計(jì)算結(jié)果
對(duì)于計(jì)算結(jié)果是除不盡的數(shù)時(shí),計(jì)算器自動(dòng)保留6 位有效數(shù)字,例如,圓周率π 是無限不循環(huán)小數(shù),在日常生活中我們用3.14 代表圓周率去近似計(jì)算,在此計(jì)算器中圓周率取值為3.14159(如圖5 所示)足以應(yīng)對(duì)平常的計(jì)算。
圖5 π 的取值
又如,e2的計(jì)算結(jié)果中有除不盡的小數(shù),若用科學(xué)計(jì)算器計(jì)算得到的結(jié)果小數(shù)點(diǎn)后有數(shù)十位,如圖6 所示;若用此計(jì)算器計(jì)算,首先點(diǎn)擊“e”按鈕,然后再點(diǎn)擊“2”按鈕和“)”按鈕便可在輸入框中看到“exp(2)”,最后按“=”按鈕得到結(jié)果,結(jié)果如圖7 所示。
對(duì)于一般的計(jì)算我們并不需要那么精確,通常情況下,只保留小數(shù)點(diǎn)后兩到三位,所以計(jì)算器保留六位有效數(shù)字足以。通過上面的驗(yàn)證,我們發(fā)現(xiàn)此計(jì)算器使用方便、計(jì)算結(jié)果準(zhǔn)確且簡(jiǎn)潔,能夠滿足人們的基本需要,是一款實(shí)用的計(jì)算產(chǎn)品。
圖6 e2 的計(jì)算結(jié)果
圖7 e2 的取值
計(jì)算器在我們的生活中發(fā)揮著重要的作用,利用MATLAB中的GUI 設(shè)計(jì)一個(gè)實(shí)用的計(jì)算器,簡(jiǎn)化了復(fù)雜的計(jì)算過程。