趙海君 趙青云
(山西師范大學 物理與信息工程學院,山西 臨汾041004)
大數據時代,時時刻刻都在和數據打交道。為了解決人們在學習、生活以及工作中遇到的一些常見的數據計算問題,利用MATLAB 設計出一款實用的、簡單的計算器。該計算器的操作過程很簡單,只需使用者按下相應按鈕,便能輕松解決以下問題:四則運算、對數運算、指數運算、開平方運算等。
MATLAB GUI 是指采用圖形方式顯示的計算機操作用戶界面,是MATLAB 用戶可視化交互式的工具,運用GUI 生成的操作界面,避免了用戶瀏覽繁冗的代碼進行操作。實現了基于MATLAB GUI 的計算器功能的設計。
設計計算器,首先用MATLAB GUI 設計一個計算器界面,這個界面要包括加減乘除、三角函數、對數等按鈕,然后編輯程序實現相應的功能,最后進行功能驗證。流程如圖1 所示。

圖1 計算器設計流程圖
在MATLAB 中新建一個GUI 界面,在GUI 界面上繪制一個面板,面板上繪制一個靜態文本框用來顯示輸入和輸出,再繪制30 個按鈕,每個按鈕代表一種功能,雙擊按鈕調出按鈕的屬性檢查器,將按鈕代表的功能標注在按鈕上,最后調整按鈕的大小和顏色、面板的顏色以及整體的布局使計算器看起來更美觀,界面如圖2 所示:

圖2 計算器界面

圖3 輸入數據
實現計算功能,首先要實現每個按鈕的功能,通過查看界面上每個按鈕的回調函數,編輯程序實現每個按鈕的功能,并進行運行和調試。此計算器可以實現四則運算、平方開方、三角函數、以10 為底的對數、e 指數以及清除退位功能。以sin(π/2)=1 為例,首先點擊“sin”按鈕,在輸入框中會看到“sin(”,再輸入π/2,注意在此處還需在輸入右半個括號,與左半個括號構成一個完整的括號功能,最終輸入的式子如圖3 所示,最后按等于鍵得到計算結果,如圖4 所示。

圖4 計算結果
對于計算結果是除不盡的數時,計算器自動保留6 位有效數字,例如,圓周率π 是無限不循環小數,在日常生活中我們用3.14 代表圓周率去近似計算,在此計算器中圓周率取值為3.14159(如圖5 所示)足以應對平常的計算。

圖5 π 的取值
又如,e2的計算結果中有除不盡的小數,若用科學計算器計算得到的結果小數點后有數十位,如圖6 所示;若用此計算器計算,首先點擊“e”按鈕,然后再點擊“2”按鈕和“)”按鈕便可在輸入框中看到“exp(2)”,最后按“=”按鈕得到結果,結果如圖7 所示。
對于一般的計算我們并不需要那么精確,通常情況下,只保留小數點后兩到三位,所以計算器保留六位有效數字足以。通過上面的驗證,我們發現此計算器使用方便、計算結果準確且簡潔,能夠滿足人們的基本需要,是一款實用的計算產品。

圖6 e2 的計算結果

圖7 e2 的取值
計算器在我們的生活中發揮著重要的作用,利用MATLAB中的GUI 設計一個實用的計算器,簡化了復雜的計算過程。