function varargout = calculator(varargin)
% CALCULATOR MATLAB code for calculator.fig
% CALCULATOR, by itself, creates a new CALCULATOR
or raises the existing
% singleton*.
%
% H =
CALCULATOR returns the handle to a new CALCULATOR or the handle
to
% the
existing singleton*.
%
% CALCULATOR('CALLBACK',hObject,eventData,handles,...)
calls the local
% function named CALLBACK in CALCULATOR.M with the
given input arguments.
%
% CALCULATOR('Property','Value',...) creates a new
CALCULATOR or raises the
% existing singleton*. Starting
from the left, property value pairs are
% applied to the GUI before calculator_OpeningFcn
gets called. An
% unrecognized property name or invalid value makes
property application
% stop. All inputs are passed to
calculator_OpeningFcn via varargin.
%
% *See
GUI Options on GUIDE's Tools menu. Choose "GUI
allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help
calculator
% Last Modified by GUIDE v2.5 28-Sep-2016 21:27:55
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton,
...
'gui_OpeningFcn', @calculator_OpeningFcn,
...
'gui_OutputFcn',
@calculator_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback =
str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] =
gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State,
varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before calculator is made visible.
function calculator_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to
figure
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
% varargin command line arguments to
calculator (see VARARGIN)
% Choose default command line output for calculator
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes calculator wait for user response (see
UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command
line.
function varargout = calculator_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output
args (see VARARGOUT);
% hObject handle to
figure
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
e=bin2dec(textString);
set(handles.text1,'String',e);%按键“二进制转十进制”
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
e=dec2bin(textString);
set(handles.text1,'String',e);%按键“十进制转二进制”
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'sin');
set(handles.text1,'String',textString);%设置符号“sin”
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'cos');
set(handles.text1,'String',textString);%设置符号“cos”
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
if
((strcmp(textString,'1.57')==1)||(strcmp(textString,'-1.57')==1))
set(handles.edit1,'String','inf');
else
textString=strcat(textString,'tan');
set(handles.text1,'String',textString);%设置符号“tan”
end
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'pi');
set(handles.text1,'String',textString);%设置符号“π”
% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
if (strcmp(textString,'0')==1)
set(handles.text1,'String','error');
else
a=strread(textString,'%f');
a=log2(a);
set(handles.text1,'String',a);
end %设置符号“log2”
% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
set(handles.text1,'String','');%按键“清空”
% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton9 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'asin');
set(handles.text1,'String',textString);%设置符号“arcsin”
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton10 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'acos');
set(handles.text1,'String',textString);%设置符号“arccos”
% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton11 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'atan');
set(handles.text1,'String',textString);%设置符号“arctan”
% --- Executes on button press in pushbutton12.
function pushbutton12_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton12 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'(');
set(handles.text1,'String',textString);%设置符号“(”
% --- Executes on button press in pushbutton13.
function pushbutton13_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton13 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,')');
set(handles.text1,'String',textString);%设置符号“)”
% --- Executes on button press in pushbutton14.
function pushbutton14_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton14 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
close(gcf);%按键“退出”
% --- Executes on button press in pushbutton15.
function pushbutton15_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton15 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'1');
set(handles.text1,'String',textString);%上面三句设置数字“1”,对其存储并输出
% --- Executes on button press in pushbutton16.
function pushbutton16_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton16 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'4');
set(handles.text1,'String',textString);%上面三句设置数字“4”,对其存储并输出
% --- Executes on button press in pushbutton17.
function pushbutton17_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton17 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'7');
set(handles.text1,'String',textString);%上面三句设置数字“7”,对其存储并输出
% --- Executes on button press in pushbutton18.
function pushbutton18_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton18 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'2');
set(handles.text1,'String',textString);%上面三句设置数字“2”,对其存储并输出
% --- Executes on button press in pushbutton19.
function pushbutton19_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton19 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'5');
set(handles.text1,'String',textString);%上面三句设置数字“5”,对其存储并输出
% --- Executes on button press in pushbutton20.
function pushbutton20_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton20 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'8');
set(handles.text1,'String',textString);%上面三句设置数字“8”,对其存储并输出
% --- Executes on button press in pushbutton21.
function pushbutton21_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton21 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'3');
set(handles.text1,'String',textString);%上面三句设置数字“3”,对其存储并输出
% --- Executes on button press in pushbutton22.
function pushbutton22_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton22 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'6');
set(handles.text1,'String',textString);%上面三句设置数字“6”,对其存储并输出
% --- Executes on button press in pushbutton23.
function pushbutton23_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton23 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'9');
set(handles.text1,'String',textString);%上面三句设置数字“9”,对其存储并输出
% --- Executes on button press in pushbutton24.
function pushbutton24_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton24 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'0');
set(handles.text1,'String',textString);%上面三句设置数字“0”,对其存储并输出
% --- Executes on button press in pushbutton25.
function pushbutton25_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton25 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
w=length(textString);
t=char(textString);
textString=t(1:w-1);%将w个字符串转成w-1个,即删除了末位字符
set(handles.text1,'String',textString);%按键“back”
% --- Executes on button press in pushbutton26.
function pushbutton26_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton26 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'.');
set(handles.text1,'String',textString);%上面三句设置符号“.”,对其存储并输出
% --- Executes on button press in pushbutton27.
function pushbutton27_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton27 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'+');
set(handles.text1,'String',textString);%上面三句设置符号“+”,对其存储并输出
% --- Executes on button press in pushbutton28.
function pushbutton28_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton28 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'-');
set(handles.text1,'String',textString);%上面三句设置符号“-”,对其存储并输出
% --- Executes on button press in pushbutton29.
function pushbutton29_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton29 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'*');
set(handles.text1,'String',textString);%上面三句设置符号“*”,对其存储并输出
% --- Executes on button press in pushbutton30.
function pushbutton30_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton30 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'/');
set(handles.text1,'String',textString);%上面三句设置符号“÷”,对其存储并输出
% --- Executes on button press in pushbutton31.
function pushbutton31_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton31 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
s=eval_r(textString);
set(handles.text1,'String',s);%上面三句设置符号“=”,对其存储并输出
% --- Executes on button press in pushbutton32.
function pushbutton32_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton32 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
if (strcmp(textString,'0')==1)
set(handles.text1,'String',0);
else
a=strread(textString,'%f');
a=sqrt(a);
set(handles.text1,'String',a);
end %设置符号“√”
% --- Executes on button press in pushbutton33.
function pushbutton33_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton33 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'^2');
set(handles.text1,'String',textString);%设置符号“^2”
% --- Executes on button press in pushbutton34.
function pushbutton34_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton34 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'^3');
set(handles.text1,'String',textString);%设置符号“^3”
% --- Executes on button press in pushbutton36.
function pushbutton36_Callback(hObject, eventdata,
handles)
% hObject handle to
pushbutton36 (see GCBO)
% eventdata reserved - to be defined in a
future version of MATLAB
% handles structure with
handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'^');
set(handles.text1,'String',textString);%设置符号“^”,n次方