Matlab---GUI界面编程2(m文件纯代码实现)
来源:互联网 发布:詹姆斯最新数据排名 编辑:程序博客网 时间:2024/06/06 13:15
1. 实现功能
实现输入x中数据输入,点击输出,然后将输入框中的值通过setappdata/getappdata/rmappdata的方式传递和共享回调函数之间的数据。
2. 实现界面
3. 代码
【mygui.m】
function mygui%% 清除变量,清命令窗口屏,清除图形clear;clc;%% 新建图形并设置相关属性%scrsz = get(0,'ScreenSize');Hd_fig = figure('NumberTitle', 'off', 'Resize','off','Color',[0.753,0.753,0.753],'Name', 'BP神经网络预测系统');%取得Figure的JavaFrame。%修改图标newIcon = javax.swing.ImageIcon('icon.png');figFrame = get(Hd_fig,'JavaFrame'); figFrame.setFigureIcon(newIcon);%转换图形窗口菜单条的“开”与“关”set(Hd_fig,'menubar','none','Unit','normalized','Position',[0.08,0.12,0.78,0.74]);%% 初始化图形中控件%坐标图axes('Position',[0.06,0.095,0.7,0.85]);title('BP神经网络预测输出','FontName','Times New Roman','FontWeight','Bold','FontSize',10);xlabel('横坐标','FontName','Times New Roman','FontSize',14);ylabel('纵坐标','FontName','Times New Roman','FontSize',14);%% 控制按钮Hd_p1 = uipanel('Parent',Hd_fig,'Title','控制功能',... 'BorderType','etchedin',... 'BackgroundColor','white',... 'ShadowColor',[0.4,0.4,0.4],'TitlePosition','centertop','tag','Hd_p1',... 'ForegroundColor','b',... 'FontWeight','bold',... 'position',[0.77,0.094,0.22,0.09]);Hd_load = uicontrol('Parent',Hd_p1,'Style','Push',... 'String','导入数据',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_load',... 'Position',[0.03,0.07,0.45,0.98],... 'CallBack','');Hd_close = uicontrol('Parent',Hd_p1,'Style','Push',... 'String','退出',... 'FontWeight','bold',... 'ForegroundColor','r',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_close',... 'Position',[0.52,0.07,0.45,0.98],... 'CallBack','close');%% 数据处理Hd_p2 = uipanel('Parent',Hd_fig,'Title','数据处理',... 'BorderType','etchedin',... 'BackgroundColor','white',... 'ShadowColor',[0.4,0.4,0.4],'TitlePosition','centertop','tag','Hd_p1',... 'ForegroundColor','b',... 'FontWeight','bold',... 'position',[0.77,0.19,0.22,0.20]);%Hd_b1 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','相关性分析',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b1',... 'Position',[0.03,0.028,0.45,0.3],... 'CallBack','in=getappdata(gcf,''in'')');Hd_b2 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','聚类',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b2',... 'Position',[0.52,0.028,0.45,0.3],... 'CallBack','');%Hd_b3 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','BP训练',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b3',... 'Position',[0.03,0.36,0.45,0.3],... 'CallBack','');Hd_b4 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','BP误差',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b4',... 'Position',[0.52,0.36,0.45,0.3],... 'CallBack','');%Hd_b5 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','SVM训练',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b5',... 'Position',[0.03,0.69,0.45,0.3],... 'CallBack','');Hd_b6 = uicontrol('Parent',Hd_p2,'Style','Push',... 'String','SVM误差',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b6',... 'Position',[0.52,0.69,0.45,0.3],... 'CallBack','');%% 输入变量Hd_p3 = uipanel('Parent',Hd_fig,'Title','Input',... 'BorderType','etchedin',... 'BackgroundColor','white',... 'ShadowColor',[0.4,0.4,0.4],'TitlePosition','centertop','tag','Hd_p1',... 'ForegroundColor','b',... 'FontWeight','bold',... 'position',[0.77,0.4,0.22,0.45]);%Hd_b11 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入1',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.015,0.45,0.15],... 'CallBack','');Hd_b12 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b12',... 'Position',[0.52,0.015,0.45,0.15],... 'CallBack','');%Hd_b21 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入2',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.182,0.45,0.15],... 'CallBack','');Hd_b22 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b22',... 'Position',[0.52,0.182,0.45,0.15],... 'CallBack','');%Hd_b31 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入3',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.349,0.45,0.15],... 'CallBack','');Hd_b32 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b32',... 'Position',[0.52,0.349,0.45,0.15],... 'CallBack','');%Hd_b41 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入4',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.516,0.45,0.15],... 'CallBack','');Hd_b42 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b42',... 'Position',[0.52,0.516,0.45,0.15],... 'CallBack','');%Hd_b51 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入5',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.683,0.45,0.15],... 'CallBack','');Hd_b52 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b52',... 'Position',[0.52,0.683,0.45,0.15],... 'CallBack','');%Hd_b61 = uicontrol('Parent',Hd_p3,'Style','edit',... 'String','输入6',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Enable','inactive',... 'Position',[0.03,0.85,0.45,0.15],... 'CallBack','');Hd_b62 = uicontrol('Parent',Hd_p3,'Style','Edit',... 'String','0.0',... 'FontWeight','bold',... 'ForegroundColor',[0.871,0.49,0],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_b62',... 'Position',[0.52,0.85,0.45,0.15],... 'CallBack','');%% 输出Hd_p4 = uipanel('Parent',Hd_fig,'Title','Output',... 'BorderType','etchedin',... 'BackgroundColor','white',... 'ShadowColor',[0.4,0.4,0.4],'TitlePosition','centertop','tag','Hd_p1',... 'ForegroundColor','b',... 'FontWeight','bold',... 'position',[0.77,0.865,0.22,0.1]);%Hd_o1 = uicontrol('Parent',Hd_p4,'Style','push',... 'String','输出',... 'Units','normalized',... 'FontWeight','bold',... 'ForegroundColor','black',... 'Units','normalized',... 'FontSize',10,... 'Position',[0.03,0.1,0.45,0.9],... 'CallBack','getInputData');Hd_o2 = uicontrol('Parent',Hd_p4,'Style','Edit',... 'String','',... 'FontWeight','bold',... 'ForegroundColor',[0,0,1],... 'Units','normalized',... 'FontSize',10,... 'tag','Hd_o2',... 'Position',[0.52,0.1,0.45,0.9],... 'CallBack','');
【getInputData.m】
function getInputData %默认四个变量,变量个数获取在此处修改 Hd_b12 = findobj(gcf,'tag','Hd_b12'); Hd_b22 = findobj(gcf,'tag','Hd_b22'); Hd_b32 = findobj(gcf,'tag','Hd_b32'); Hd_b42 = findobj(gcf,'tag','Hd_b42'); str1 = get(Hd_b12,'String') str2 = get(Hd_b22,'String') str3 = get(Hd_b32,'String') str4 = get(Hd_b42,'String')% str5 = get(Hd_b52,'String')% str6 = get(Hd_b62,'String') %字符转数字 in(1) = str2double(str1); in(2) = str2double(str2); in(3) = str2double(str3); in(4) = str2double(str4); %检测输入的值是否符合标准,符合则保存数据 if(isnan(in(1)) || isnan(in(2)) || isnan(in(3)) || isnan(in(4))) msg = msgbox('Input Error!!!','Error'); %字体大小设置和居中 amsg = get(msg,'CurrentAxes'); chmsg = get(amsg,'Children'); set(chmsg,'FontSize',14); th = findall(0,'Tag','MessageBox'); boxPosition = get(msg,'Position'); textPosition = get(th,'Position'); set(th,'position',[boxPosition(3).*0.5 textPosition(2) textPosition(3)]); set(th, 'HorizontalAlignment', 'center'); %修改图标 newIcon = javax.swing.ImageIcon('error.png'); figMsg = get(msg,'JavaFrame'); figMsg.setFigureIcon(newIcon); return; else in(:) %处理数据传送 setappdata(gcf,'in',in); end
0 0
- Matlab---GUI界面编程2(m文件纯代码实现)
- Matlab----GUI编程-登录框实现(纯m文件)
- 【matlab】----GUI编程-登录框实现(纯m文件)
- Matlab GUI 基础(2):M文件
- M文件实现GUI
- matlab GUI界面编程总结
- matlab 编程入门(M文件函数)
- Matlab GUI界面 (转)
- Matlab GUI界面(转)
- matlab GUI界面实现单选按钮(radiobutton)
- matlab GUI界面实现单选按钮(radiobutton)
- matlab GUI 编程——mcc转换m文件到应用程序
- IOS 纯代码实现界面
- Matlab-GUIDE使用说明(Matlab-GUI界面)
- 1.MATLAB界面编程 .m文件生成.exe文件相关问题及解答
- 用M文件实现GUI菜单
- MATLAB 学习(六)M文件和面向对象编程
- MATLAB GUI界面总结(转载)
- 160Intersection of Two Linked Lists
- android一些常用权限
- Windows服务之EF加载数据
- hdoj 2647 Reward 【反向拓扑 队列实现】
- 第十二周阅读程序(6):多重继承
- Matlab---GUI界面编程2(m文件纯代码实现)
- mysql frm ibd 文件恢复数据
- 主键,外键区别联系
- 软件架构设计---基于鲁棒图进行设计
- Ruby学习笔记7: 添加身份验证(adding Authentication)
- 郁金香反汇编逆向与外挂(67)
- BroadcastReceiver广播
- sencha panel的头header上添加刷新按钮
- Gson 封装,json从此很简单