一文学会MATLAB GUI设计,多个实例进行超详细的讲解,有代码逻辑和注释

基于MATLAB的可视化GUI界面设计
GUI界面的打开:
1:打开MATLAB
2:在命令行输入

>>guide

在这里插入图片描述
3:选择你所需要创建的GUI,一般为默认
4:通过添加你所需要实现的功能
在这里插入图片描述
5:双击2中的功能块,修改该功能(如按钮,编辑框等)的属性,如String,Tag,Value,ForegroudColor,BackgroudColor等、编辑完成,记得回车(Enter),否则可能会导致修改不成功,Tag值唯一标识,可通过Tag值访问句柄值。
在这里插入图片描述
6:点击保存后会生成一个.Fig文件,一个.m文件。.Fig文件用于对GUI界面的修改,.m文件用于功能的实现以及功能块之间的交互和相互调用等。
7:若是不小心将编辑的.Fig文件关闭了,直接打开运行会报错
正确的做法:在命令行输入:guide后,在弹出的对话框中选择“打开现有的GUI”,选择你所需要的.Fig即可
在这里插入图片描述

.m文件中,函数交互的详细逻辑:
.m文件创建的对象和GUIDE创建的对象之间的相互访问的问题:
自定义:
在这里插入图片描述

-----------------------------------美腻的分割线----------------------------------------------------

**实例1:**实现sinx cosx tanx 的画图功能和Clear功能
一:GUI的创建和属性的设置
在这里插入图片描述
Axes对象的Tag为:
在这里插入图片描述

sin按钮对象的String 和 Tag值为:
在这里插入图片描述

cos按钮对象的String和Tag值为:
在这里插入图片描述

tan按钮对象的String和Tag值为:
在这里插入图片描述

Clear的String和Tag值为:
在这里插入图片描述

字体颜色和背景颜色可以找到ForegroudColor,BackgroudColor设置,其他属性同上…

二:函数的写入
OpeingFcn函数对应OutouputFcn ,全局变量可在OpeingFcn函数中定义

注意:主函数不要动!否则可能会导致GUI打开失败,无法进行函数写入等处理。
在这里插入图片描述
1:由于后面可能会一直用到x(sinx cosx tanx),所以先在OpengFcn中定义x:
在这里插入图片描述
最后的guidata…是用来更新handles结构体的

2:写入Clear的回调函数(右键Clear按钮,选择View Callbacks(或者:查看回调) ,点击Callback转到该按钮的功能函数编写区)
在这里插入图片描述
用try保留字
在这里插入图片描述
:allchild为所有的子对象,plotarea为之前设置的Axes的Tag值。
该句的作用:保证在初始化界面中,没有图形的时候,执行Clear操作不会显示错误

3:对sinx进行功能写入
在这里插入图片描述
通过handles.x可以访问自变量,handles.Tag可以访问Axes
运行可以得到:
在这里插入图片描述
cosx tanx等,同理:
在这里插入图片描述
如果进行sinx的绘图之后,再点击cosx等的绘图会替代上一次的绘图。若需要将每一次绘的图进行同时显示,可以在Axes的属性中,找到NextPlot,将属性改为add。
在这里插入图片描述

对tanx进行范围约束;
在这里插入图片描述
运行可得:
在这里插入图片描述
可以将sinx cosx tanx进行颜色的修改,如:

plot(handles.plotarea,x,y,’r’)

在这里插入图片描述
-----------------------------------美腻的分割线----------------------------------------------------
实例2:
实现点击button1中的按钮,随机生成一个数据,通过自定义的按钮使得其在Edit中显现。
handles.rand=rand
%获取rand随机数的句柄值,将该句柄值赋值到handles的某个字段中
%可通过handles.rand中的字段访问GUI数据。在这里插入图片描述
修改:
在这里插入图片描述
在这里插入图片描述
↑:将生成的随机数通过点击push按键,num2str型到Edit编辑框中。
在这里插入图片描述

-----------------------------------美腻的分割线----------------------------------------------------
打开一个GUI已有的按钮Push Button (Tag=pushbutton1),编写Callback函数,与自定义的按键联系起来。
在这里插入图片描述

(GUI中的按键)-在该回调函数中,为自定义的按钮写一个“String”值。可以通过handles.push(为自定义按钮的Tag)访问,达到一致访问的目的(通过handles结构体访问)。
在这里插入图片描述
若想对自定义的按钮加入回调函数,可以通过Callback属性设置
(基于其余的Callback函数属性的设置)
例:
在这里插入图片描述
都是Tag_Callback,后面三个输入参数为:hObject ,eventdata,handles
hObject 为当前的对象,比如说在OpengFcn中,hObject 为当前的Figure,在该按钮的Callback函数中,hObject为当前的按钮的句柄值。
eventdata为保留的属性,一般为空。

为保持回调函数的一致性
在这里插入图片描述

然后自己写出回调函数
在这里插入图片描述
在该回调函数中,设置刚才GUI中拖拉的String,即:
在这里插入图片描述
会报错
在这里插入图片描述
解决方法:去了另外两个参数,只有handles是所需回调参数
在这里插入图片描述

单击1,2变Run,单击2,3变Run
在这里插入图片描述
总结:
在这里插入图片描述
=OVER=========

LVS(Linux Virtual Server)是一种基于 Linux 系统的负载均衡集群技术,它主要用于将网络流量分发到多个服务器上,以提高系统的可靠性、可扩展性和性能。 LVS 集群一般包括四个组件:调度器(LVS 调度器)、前端服务器(负载均衡器)、后端服务器(真实服务器)和存储服务器(用于共享数据)。首先,调度器接收来自客户端的请求,然后根据配置的调度算法(如轮询、加权轮询、最小连接数等)将请求分发到多个前端服务器。前端服务器接收到请求后,通过相应的负载均衡算法将请求转发到后端的真实服务器上进行处理。在整个过程中,存储服务器用于存放共享的数据,以确保所有的真实服务器都能获取到相同的数据,并提供一致的服务。 LVS 集群的优点是能够提高网站的稳定性和可靠性,当某一台服务器出现故障时,调度器自动将请求分发到其他可用的服务器上,从而保证服务的连续性。同时,LVS 集群还能够通过增加前端服务器和后端服务器的数量来提高系统的性能和吞吐量,以满足不断增长的用户需求。 在实际应用中,LVS 集群需要合理配置,包括选择合适的调度算法、调整每台服务器的权重、选择适当的硬件设备等。此外,还需要及时监控集群的运行状态,及时发现和解决故障,以确保整个系统的正常运行。 总的来说,LVS 负载均衡集群是一种强大而高效的集群技术,能够帮助企业提高系统的可靠性和性能,是现代互联网应用中不可或缺的重要组成部分。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值