归一化系统的二阶阶跃响应之matlab GUI+程序打包实现
- 设计程序效果展示
1.1.list选项:选择第一项效果展示
1.2.list选项:选择第二项效果展示
1.3.list选项:选择第三项效果展示
1.4.list选项:选择第四项效果展示
- 设计思想
为了研究归一化二阶系统G(s)中阻尼比对单位阶跃响应的影响,于是做了上述1中的效果界面来做可视化分析和展示。G(s)公式如下:其中s是时间,单位秒,另一个字母为阻尼比。
在matlab命令行中输入"guide"命令,然后再弹出的界面中选择"新建GUI",然后选择Blank GUI(Default)即可。按照1中的效果图在界面中依次拖选"轴Axes",“静态文本”,“可编辑文本"等即可。详细属性设置如下:
2.1.双击轴位框,在"属性检查器”,进行如下设置:
FontUnits和Units均设置为normalized;XLimNode和 YLimNode均设置为normalized。
2.2.静态文本组件设置:
FontUnits和Units均设置为normalized;String设置为"归一化二阶系统的阶跃响应"
2.3.面板设置:
FontUnits为points和Units为normalized;Title为"阻尼比zeta";TitlePosition为lefttop。
2.4.可编辑文本设置:
FontUnits和Units均设置为normalized。
2.5.滑动条Slider设置:
FontUnits和Units均设置为normalized;Min为0,Max为2;SliderStep中x为0.01,y为0.1;Value为0。
2.6.grid on设置:
FontUnits和Units均设置为normalized;String为Grid on;Tag为gridon;Value为0。
2.7.grid off设置:
FontUnits和Units均设置为normalized;String为Grid off;Tag为gridoff;Value为1。
2.8.ListBox设置:
FontUnits和Units均设置为normalized;Min为0,Max为2;String设置时,单击一下会弹出界面。分别输入不标特征点、上升时间点(0->0.95)、最大峰值点、镇定时间点(0.95,1.05),各占一行即可;Value为1.
最后画完图及设置好属性后,点击绘图中的"保存"按钮将文件保存成exm080201.fig即可,同时也会生成对应的代码。然后参看下面展示的代码来完成回调函数代码填充即可。 - 代码实现
为了兼顾读着学习和查阅代码,本文使用分割线#begin##和#end##标注出需要追加代码的部分方便读着理解和学习。
3.1.exm080201.m文件
%% exm080201.m
function varargout = exm080201(varargin)
% EXM080201 MATLAB code for exm080201.fig
% EXM080201, by itself, creates a new EXM080201 or raises the existing
% singleton*.
%
% H = EXM080201 returns the handle to a new EXM080201 or the handle to
% the existing singleton*.
%
% EXM080201('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in EXM080201.M with the given input arguments.
%
% EXM080201('Property','Value',...) creates a new EXM080201 or raises the
% existing singleton*.