完整的论文代码见文章末尾 以下为核心内容
部分代码
matlab
function varargout = calc_project(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @calc_project_OpeningFcn, ...
'gui_OutputFcn', @calc_project_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
function calc_project_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = calc_project_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function num0_Callback(hObject, eventdata, handles)
var on;
on = get(handles.isItOn, 'String');
if strcmpi(on,'yes')
string myString;
myString = get(handles.textScreen, 'String');
if strcmpi(myString, '0')
set(handles.textScreen,'String','0');
else
myNewString = strcat(myString ,'0');
myString = myNewString;
set(handles.textScreen,'String',myString);
end
end
function getMemory_Callback(hObject, eventdata, handles)
var on;
on = get(handles.isItOn, 'String');
if strcmpi(on,'yes')
var shift;
shift = get(handles.Shift,'String');
if strcmpi(shift, '')
global C
var string1;
string1 = get(handles.textScreen,'String');
C = str2num(string1)
else
set(handles.Shift, 'String', '');
clear global C
end
end
- calc_project 主函数,负责创建和管理 GUI 的整个生命周期。
- calc_project_OpeningFcn GUI 打开时首先调用的函数,初始化界面和数据。
- calc_project_OutputFcn 返回 GUI 的输出结果,用于外部函数调用或返回用户交互的结果。
- pushbutton1_Callback 处理按钮1的点击事件。当用户点击按钮时,执行特定的操作。
- edit1_Callback 处理编辑框1的内容变化。当用户在编辑框中输入内容时,执行相应的操作。
- slider1_Callback 处理滑块1的变化。当用户移动滑块时,更新界面或数据。
- popupmenu1_Callback 处理下拉菜单1的选择变化。当用户选择不同的选项时,执行对应的操作。
效果展示
功能展示
计算 10/3,结果如下
计算 sin30°
获取方式
点这里 一点点辛苦费