版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运用MATLABGUI设计控制系统分析与设计界面
1引言
图形顾客接口GUI是顾客和计算机程序之间进行信息交流的方式。通过图形
顾客界面,顾客不需要输入脚本或命令,不需要理解任务H勺内部运行方式,计算
机在屏幕显示图形和文本,若有扬声器还可产生声音。顾客通过输入设备,键盘,
鼠标,麦克风等与计算机进行通信。图形顾客界面GUT中包括多种图形对象,如
图标,菜单,文本的顾客界面。以某种方式选择或激活这些对象,引起对应的动
作或变化,最常用的激活方式是用鼠标控制屏幕上的鼠标指针运动。
图形顾客界面GUI具有操作以便,控制灵活的特点,已成为现代应用程序的
重要方式。
用MATLABGUI设计一种控制系统分析与设计界面,将系统的传递函数输入
到GUI中,可以以便的绘制系统日勺多种常用曲线,如阶跃响应曲线,Nyquist曲
线可以用于系统稳定性日勺分析,我们可以故意识的输入系统日勺开环传递函数或是
闭环传递函数,分别对应Nyquist曲线和阶跃响应图。根轨迹对控制系统的分析
和设计也很有价值。零极点图可以以便日勺查看系统的零极点分布,对于配置系统
的极点进行系统校正具有重要意义。Bode图和幅频响应图对系统的频率响应分
析是一种手段,而阶跃响应指标则可更细致口勺观测系统的性能。
用GUI设计控制系设计控制系统分析与设计界面不仅在工程上有参照意义,
在我们的学习过程中也很故意义,可以协助我们更深入更轻易理解控制系统日勺分
析与设计意义。传递函数是控制系统的关键,在这里设计了两种常用的传递函数
输入形式,第一种可以称为直接形式,由于他的传递函数是已知日勺,我们可以将
系统或以开环传递函数或闭环传递函数的形式输入GUI中,进行对应的分析设
计;第二种是状态变量形式,这里开环或闭环取决于转换而来的状态空间方程,
由于开环和闭环系统都可以转换为状态空间,因而在进行对应的计算和绘图时需
注意。
2问题分析
题目规定以MATLABGUI设计图形顾客界面,设计控制系统分析与设计界面,
界面中包括控制系统中常见的功能,传递函数的I输入和创立,性能指标计数显示,
绘制常用曲线等。传递函数是控制系统研究中的关键问题,常用日勺有
〜、num
CJ(S)=——
den
和状态变量形式
X=AX+Buy=CX+Du
两种形式,第一种对于详细日勺某个传递函数而言是单输入但输出的(假如系统是
多输入多输出的,则对于不一样的输入而言,传递函数一般式不一样口勺。),第二
种形式可以设置y和〃来实现多输入多输出。
本设计将这些功能详细化如下表格所示:
表1.1
传递函数
第一种形式分子矩阵num分母矩阵den
状态变量形式矩阵A矩阵B矩阵C矩阵D
阶跃响应性能指标(performance)
峰值mp峰值时间Tp稳态增益yss超调量Del上升时间Tr调整时间Ts
常用曲线
BodeNyquistRootLocusPoleZeroimpulsestepnichols幅频特性
输入序号n指定多输入时是创立哪个输入量的传递函数
标志位k指定使用第一种形式还是状态变量形式下的传递函数
close按钮关闭GUI的运行
3GUI设计
3.1启动GUI
启动MATLAB后在命令窗口中键入guide,启动GUIDE,弹出“GUIDEQuick
Start”对话框,或者通过new-GUI进入,在弹出的GUIDE模版中创立新
的GUI或打开已经存在日勺GUI,也可以选择某些模版,这里新建一种GUT,选择
BlankGUI(Default)模版。
3.2GUI窗口大小设计
我们可以变化CUI输出编辑器的网格区域大小指定GUIH勺大小,操作措施是,
单击网格区域的右下角并进行拖拉。此外可以在“View”菜单下选择“Property
Inspector”打开属性查看器,选择“Units”背面的按钮,然后选择弹出式菜单
的I"inches",单击"Position"背面日勺”符号,输入x和y的J坐标和GUI
窗口的宽度和高度,再将“Units”属性设为character,这样可以进行精确地
设置GUI的位置和大小。本设计采用默认地状况。
3.3添加、对齐组件
GUT输出编辑器中包括了多种组件供顾客设计界面,这里从工具箱中选择9
个“StaticText”静态文本框,8个"EditText”可编辑文本框,一种"Pop-up
Menu"下拉式列表框,一种“PushButton"按钮和一种“Axes”坐标系,将它
们分别拉到设计区。具有相似父对象的组件,可以用对齐工具将他们对齐,例如
对第一列的是四个可编辑文本,按住<Ctrl>同步持续选择他们,从“Tools”选
择"AlignObjects"显示对齐工具,也可以重工具条上选择“串”图标进入对
齐工具对话框,从中选择水平左对齐,当然去我们也可以设置他们之间的间隔,
对齐工具和各组件布局如下:
图3.1对齐工具
3.4设置GUI组件属性
GUI中各组件口勺属性设置很重要,对回调函数的识别,数据时输入都很重要。
从“View”菜单中选择^PorpertyInspectorw选项,或点击工具条上的J“国”
按钮,显示属性对话框,运用属性对话框设置个组件的属性。假如没有选择组件,
属性查看器会显示GUI图形窗口日勺属性。在输出编辑器中选择各静态文本,将他
们日勺“String”属性依次设置成“num”、“den”、“A”、"B”、"C”、“D”、
“输入序号n”、“标志位k”、“types”,他们分别指示他们图标位置之下
的可编辑文本输入的信息类型,其中“num”、“den”、“A”、"B”、“C”、
“D”对应传递函数的矩阵,如表1.1所示。“输入序号n”表达输入量的次序
号,在多输入创立传递函数时指定创立日勺是那个输入的传递函数,这里我们不能
将输入序号n的J值设置日勺比输入个数多,否则也许出错,其初始值为1,表达单
输入的状况或多输入的第一种输入量。“标志位k”表达传递函数是“num”、“den”
所确定日勺还是“A”、"B”、"C”、“D”所创立的,在绘制常用曲线图形以及
计算显示性能指标日勺时候需要指定传递函数是来源于哪种状况,以免发生错误。
标志位k日勺初始值为0,表达使用“num”、“den”确定日勺传递函数,k值为1
时使用“A”、"B”、"C”、“D”所确定H勺传递函数。“types”表达在其图标
位置之下的下拉式列表框中选择绘图类型和计算性能指标。下拉式列表框的
“String”属性设置措施为单击String属性后的“周”图标打开String属性
的编辑窗口,如图2.3所示输入。下拉式列表框共有九种类型,即其“String”
属性中所列的|"Bode"、"Nyquist"、“RootLocus"、"PoleZero","impulse”、
“step"、"nichols"、"幅频特性"、"performance”分别表达绘制波德图、
奈奎斯特图、根轨迹、零极点图、脉冲响应曲线图、阶跃响应曲线图、nichols
图、幅频特性图、计算阶跃响应日勺性能指标。根据上面得“String”属性次序依
次设置可编辑文本日勺“Tag"属性为"num_editp“den_edit”“AA”“BB”“CC”
“DD”“n_edit”“k_edit”将下拉式列表框的Tag属性设置为“popupmenu”。GUI
根据组件的Tag属性值在保留时和第一次运行时自动设置回调函数的名称,如下
拉式列表框的IFT调函数名为“popupmenu_CalIback"。设置按钮的String的属性
为“close”,Tag属性为“pushbutton”。功能为按下close按钮结束GUI曰勺运
行。组件的“String'属性见图3.2.
图3.3下拉式列表框H勺String属性编辑窗口
3.5对象浏览
运用对象浏览器,可查看目前所创立日勺图形对象,选择Tools-Object
Browser命令或单击设计编辑器界面_L具栏的“堂”按钮,打开对象浏览器,
从中可以看出,对象在浏览器中是按创立的先后次序显示的。见图3.4.
iectBrowsernx
figure(sheji)
axes(axesl)
TXTuicontrol(textl"StaticText*')
TXTuicontrol(text2"nun")
£诉uicontrol(num_edit"EditText**)
颐'uicontrol(den_edit,EditText")
TXTuicontrol(text3"A")
而uicontrol(AA"EditText')
Wuicontrol(BB"EditText")
师uicontrol(CC"EditText")
TXTuicontrol(text4"B")
而uicontrol(DD"EditText*)
图3.4对象浏乐器
3.6M文献编写
完毕GUT输出编辑器的设计和属性设置之后,接下来就是进行M文献的编辑。
第一次保留和运行GUI时,GUIDE会生成一种函数式M文献,它包括每个组件要
用到的回调函数框架,以及某些初始化代码,一种初始函数回调和一种输出函数
回调。生成M文献后来,它打开“SaveGUIas”对话框,在“Filename"文本
框中键入文献名,本次设计文献名为“sheji",GUIDE将相似的名称指定给FIG
文献和M文献,单击“Save”按钮时,GUIDE会保留M文献并在M文献编辑器中
打开它。创立了M文献后来,就可以通过单击输出编辑器中日勺工具条上的“色”
按钮来打开M文献编辑器。在M文献编辑器中可以通过单击工具条上的“二”
按钮,然后在下拉菜单中选择目的回调来将光标移动到指定的回调函数。下面从
功能的角度来分析个函数。
3.6.1回调间和数据共享
通过将数据保留到MATLABhandles构造中,可以实现回调间日勺数据共享。
GUI中日勺所有组件使用同一种handles构造,它会传递一种输入变量给GUIDE生
成日勺所有回调函数。例如本设计中的一句语句
handles.N=str2num(get(handles.n_edit,*String*)),功能为先通过get函数
命令获得对象属性,将n可编辑文本输入的字符转换为数字赋给名称为
handles.N口勺handles构造欧I字段,用guidata(hObject,handles)函数保留
handles构造,在其他口勺回调函数中就可以使用handles.N,或者赋给某个变量,
调用这些数据了。
3.6.2初始化
为了增长美感,本次设计初始化函数中增长了一•种绘制曲面H勺函数,绘制的
是MathWorks企业的图标,因而选用了这个函数。使用surf命令,数据来源于
membraneo在初始化中设置可编辑文本欧)初始值时使用set函数,例如
set(handles.num_edit,*String1,1286'),功能为设置num矩阵的初始值为
[286],不过需要注意日勺是这里是文本矩阵。
3.6.3数据输入
本设计中需要输入的数据有矩阵和控制数据(n,k),输入的形式都是文本
字符或字符串的形式,通过可编辑文本EditText输入的。对于矩阵先要将字符
串转换为文本矩阵,再将文本矩阵转换为数字矩阵,例如
handles.num0=str2mat(get(handles,numedit,'String'));
handles,numl=str2nun(handles.numO);
将get获得num对象字符串通过str2mat命令转为文本矩阵handles.numO再将
其通过str2num命令将其转换为数字矩阵handles,numl,这样便能在MATLAB中
进行处理了。
3.6.4创立传递函数和输入量的选择
这里所用的传递函数有两种两种形式,对于已知传递函数,以分子分母矩阵
形式输入的情形比较简朴,绘图时都是直接运用分子分母矩阵。对于状态变量形
式的状况,需要先将A,B,C,D四个矩阵转换为分子分母矩阵形式,以利于后
来的绘图和计算性能指标。例如
[handles,numx,handles.denx]=ss2tf(handles.AAA,handles.BBB,handles.CCC
,handles.DDD,handles.N);
使用ss2tf命令将前面程序中获得handles.AAA,handles.BBB,handles.CCC,
handles.DDD矩阵和handles.N数字转化为分子矩阵handles,numx和分母矩阵
handles,denx,handles.N为指定ss2tf命令转换序号为handles.N(在GII界
面中看为输入序号n)的输入量的数据,这里我们要弄清晰输入量日勺个数不能将
输入序号nH勺值设置的比输入个数还大,输入序号nH勺初始值设为1,表达单输
入或多输入第一种输入量的状况。
3.6.5选择传递函数
在背面口勺绘图和计算性能指标中需要选择使用哪种形式下的传递函数,因此
设计了一种标志位k,标志位k口勺可选值为0和1,值0时为选择分子分母形式
输入的传递函数,值1为时选择状态变量形式创立的传递函数,若输入其他值,
则不能对的绘图和计算性能指标,且在命令窗口中输出“标志位k二Oorl”以及
弹出消息对话框进行提醒,使用if-elseif-else-end语句构造实现这些功
能。例如
ifhandles.K==0
bode(handles,numl,handles.deni;;
elseifhandles.K-1
bode(handles,numx,handles,denxj;
else
disp(,标志位k=0orr);
end
3.6.6绘图类型的选择
绘图和计算性能指标类型是集中在下拉式列表框中欧I,因此需要对他们进行
选择识别,每次顾客选择其中的某项功能时,下拉式列表框日勺回调函数都会读取
下拉式列表框的Value属性值,以便执行对应的功能,这里使用分支语句实现实
现选择,例如:
val=get(hObject,*Value,);
str=get(hObject,JString*);
switchstr{val}
case'Nyquist)
hs二figure;
ifhandles.K==0
nyquist:handles,numl,handles,deni);
elseifhandles.K==l
nyquist:handles,numx,handles,denx);
else
disp('标志位k=0orr);
end
NyquistFig');
图3.5k输入其他值时消息提醒
3.6.7性能指标计算
性能指标是计算系统阶跃响应的有关指标,这里计算了六项,分别为,
%mp-峰值
%Tp—峰值时间
%Tr—上升时间
%Del一超调量
%Ts—调整时间(2%准则)
%yss一稳态值
程序中将阶跃响应设置成幅值和时间两者返回数据来体现[Y,t]=step(syS);,这
样就能以便日勺计算出mp,Tp,ysso上升时间是定义成幅值从0.1(tl)到达0.9
(t2)日勺时间,计算式为
Tr=t2—ti
调整时间为最终一超过2%准则区域后再一次进入2%准则区域时日勺时间,这里
需要用程序进行循环判断,以确定Ts,详细见附录程序。
超调量计算式为
D”二100(〃卯一”5)
yss
在这里我们可以在绘制阶跃响应时在程序中加上两条语句
hs=figurc;
step(handles.numl,handles.denl);(对应k=(),当然也可以针对k=l加对应日勺语句)
使之在axes中绘图日勺同步也绘制一张Figure图,在这张图中,可以点击右键,
选择“characteristics”选择对应的性能指标,PeakResponse,SettingTime,Rise
Time,SteadyState,在选择PeakResponse时,将鼠标定位在对应的I曲线点上
还能显示Overshoot和Attime两项指标,我们可以从这张图中得到的信息和命
令窗口中输出的指标信息进行对比,发现计算还是比较精确H勺,初始设置数据生
成的传递函数(k=0,n=l)的计算成果和Figure图对比信息如下;
Transferfunction:
2sA2+8s+6
----------------------Figure图
sA3+8sA2+10s+6
yss=
0.99801
mp=
1.09481.09
Tp=
2.81662.82
Del=
9.70549.48
Tr=
1.20711.2
Ts=
5.23095.16
cIose功能
close按钮重要是在点击close按钮时关闭GUI的运行,它的回调函数如下:
functionpushbutton_CalIback(hObject,eventdata,handles)
close;
4GUI测试
4.1初始化界面
设计好GUT和编辑好程序后,保留后,接下来就是运行GUI,测试设计的对
的性,查看程序与否能完毕设定的功能。从“Tools”菜单中选择“Run”选项,
或者单击GUIDE工具条中的“A”按钮,运行GUIo由于GUI界面的axes坐标
系不是复数坐标系,因而在绘制Nyquist,根轨迹等图时加入一条hs=figure语
句,使得图形绘制在Figure中,假如使用h=axes语句指定axes,则会出现绘
制日勺图形充斥整个GUI界面日勺成果,并不令人满意,因而这里采用绘制在Figure
中日勺措施。GUI运行的初始界面如下
numden
2868106
AB
5-16-80;0;1
CD
6820
簿入序号n标志位k
10
图4.1GUI初始化运行界而
4.2对num,den模型的测试
4.2.1初始数据测试
使用初始数据,从下拉式列表框中,选择目的选项后,绘制的图形和计算H勺
数据如下(n=l,k=0)num=[286],den=[l8106],从阶跃响应图和Nyquist
图中可看出系统是稳定口勺(假设传递函数
为开环MJ,则系统在右半平面无极点,
Nyquist曲线不包括点(T,0))
-1•051.5
RealAxis
10101010
FrftjutfC)'(taflJse:)
图4.2Bode图图4.3Nyquist图
R剖A烟ReelAxis
图4.4根轨迹图图4.5零极点图
Open.LoopP怆死(deg)F叫呢吗(幽
图4.6nichols图图4.7幅频响应图
numden
2868106
AB
|3J6.810;0;1
D
0
的人序号n标志位k
OZJ0
types
impulse
图4.8脉冲响应图
Transferfunction:
2s2+8s+6
s-3+8s^2+10s-6
yss=
0.9980
mp=
1.0948
Tp二
2.8166
Del=
9.7054
Tr=
1.2071
Ts=
5.2309
4.2.2变化num,den矩阵日勺测试
变化num=[1356],den=[2849]输入则会得到不一样的成果,限于篇
幅,这里仅给出某些图代表。
numden
图4.11零极点图
图4.12根轨迹图图4.13Nyquist图
Transferfunction:
s3+3s2+5s-6
2s-3+8s-2+4s+9
yss=
0.6674
mp=
1.0285
Tp二
2.2672
Del=
54.1151
Tr=
1.5458
Ts二
31.6380
图4.14Bode图
4.3对A,B,C,D模型的测试
4.3.1初始数据的测试
对于A,B,C,D模型的测试,使用初始数据时为单输入单输出系统,A=[01
1;011;-6-16-8],B=[0;0;l],C=[682],D=[0](n=l,k=l)这里也给出某些
图形和数据,从下面的日勺图形中也可以看出系统是稳定H勺,阶跃响应最终趋于稳
定值。
close1impulse
图4.15脉冲响应图
num
图4.16阶跃响应
图
图4.17Nyquist图
图4.18根轨迹图
Transferfunction:
2s、2+12s-3.331e-014
s3+7s2+14s~4.333e~015
yss=
0.8572
nip二
0.8575
Tp二
2.0000
Dcl=
0.0383
Tr=
0.6857
Ts=
1.0857
图4.19Bode图
4.3.2变化A,B,C,D矩阵日勺测试
A,B,C,D矩阵形式生成传递函数日勺长处是轻易进行多输入多输出系统
的生成,下面详细详细给出双输入单输出的第二个变量日勺测试成果。数据设置如
下A=[l.13-0.490.11;100;010],B=[-0.380.45;0.520.23;0.260.78],
C=[l0.120.24],D=[0.30.9],输入序号n=2,标志位k=L这里也顺带测试了
n和k0在我们输入矩阵时必须注意的是B的行数必须等于A的行数,CRU列数
必须等于A的列数,D的行数必须等于C日勺行数,D日勺列数必须等于B日勺列数。
测试成果如下
rumden
2368106
AB
0;01O260.78
D
120.240.30.9
给人力号ri析;fe位h
types
□loseimpulse
图4.20脉冲响应图
numden
8106l
286
AB
0010260.78
cD
120.240.30.9
偷入序号n标志位k
21
types
close|step
图4.21阶映响应图
N闻帆
图4.22Bode图图4.23Nyquist图
图4.24根轨迹图4.25零极点图
NcWsChait
05
0
-05
八
g
3-15
卜25
0
45
•1E0•1350
图4.26幅频响应图图4.27nichols图
Transferfunction:
0.9s3-0.3522s2+0.2806s+0.07395
s3-1.13s2+0.49s-0.11
yss
20.0223
20.0223
Tp=
3.9534
Del=
0
Tr=
2.8552
Ts=
3.8802
从上面口勺阶跃响应图,Nyquist图和计算数据来看系统式不稳定的,系统在
右半平面有三个极点(假设为开环传递函数),但Nyquist曲线并没有以逆时针
方向包围点(-1,0)三次。计算得出的数据是以软件停止计算时已得出的数据
为基准计算日勺,因而有些指标不一定精确,如超调量Del,他是以阶跃响应的最
大值减去终值得到成果乘以100(这里是指绘图停止时的值)再除以终值得来日勺,
因而这里欧I成果是0.但对于稳定的I系统,在计算终止时已经稳定了日勺话,计数
成果就就是精确日勺。
对于多输入多输出系统,由于绘制根轨迹的rlocus命令只能用于单输出欧I
系统,pzmap命令对多输入多输出系统是绘制系统的特性向量和传递零点,因而
这两个命令在本设计中对于多输入多输出系统不能使用。此外性能指标也是针对
单输出口勺,也不能用,幅频响应也不能用,否则会出错。下面给出一种双输入双
输出例子
A=[2.25-5-1.25-0.5;2.25-0.45-1.25-0.25;0.25-0.5-1.25-1;1.25-1.75
-0.25-0.75],B=[46:24;22;02],C=[0001;0202],D=[00;00],对它
的第一种输入进行测试,成果如下
numden
2868106
AB
>5-0.75;22;02
CD
;O20200.00
愉入序号n标志位k
1
clog-]
图4.28阶沃响应图
图4.30Bode图图4.31Nyquist图
图4.32nichols图
4.4对cIose按钮时测试
对close按钮的测试很简朴,在所有日勺测试过程中都可以进行,在运行GUI
时,点击close按钮就可以关闭GUT口勺运行,但Figure文献并不是在输出编辑
器中创立的,因而需要此外单独关闭。
5设计总结
本次综合课程设计规定设计一种控制系统的分析和设计MATLABGUI界面,
界面包括控制系统的常用功能。MATLABGUI拥有强大的图形顾客界面设计功能,
GUIDE提供了一系列创立图形顾客界面日勺工具,fig文献的设计因而比较简朴,
大体可分为启动GUI,设定GUI窗口大小,添加组件对齐组件,设置组件口勺属性,
对象浏览等几种环节,这些工作比较简朴,一看就会,关键是在于M文献的编写。
由于是第一次使用MATLABGUI,因而不可防止『、J碰到许多问题,尤其是在
程序的编写上。首先是在数据时输入上,GUI中欧I数据都是以字符口勺形式输入日勺,
这和命令窗口中直接输入数字数据截然不一样,虽然感慨时就注意到了这一点,
设计中对单数字的输入页没有问题,但对矩阵日勺输入却有问题,后来查书发现
sa2mat命令只是将字符串输入转换为文本矩阵,还需要用到str2num命令将文
本矩阵转换为数字矩阵,到此也一并处理了ss2tf命令需要A矩阵为方阵的问题。
碰到的另一种重要问题是设计的过程中有时需要对fig文献进行修改,例如对某
个组件的Tag属性进行修改,保留后,不过在M文献中查看函数列表时,发现有
关组件的回调函数名称并没有改正过来,虽然运行GUI时调用也许没有问题,但
却给人不统一的感觉,这时有也许就要重新设计。不过相对来说,MATLABGUI
使用起来还是比较以便日勺。
通过这次的综合课程设计使我们学到了诸多东西,从我们拿到题目开始,我
们就需要认真对其进行分析,查找有关资料,翻看某些辅导书籍学习MATLAEGUI
的使用措施,通过这近三周的课程设计,虽然断断续续的,但也从这些工作中学
到诸多,第一,我们熟悉了MATLAB中诸多H勺绘图命令,如Nyquist,pzmap等,
也熟悉某些数据转换命令如ss2tf,str2mat,str2num以及设置对象属性命令
set,获得对象属性命令get等等,这些知识的积累对我们此后用到日勺MATLAEGUT
时是一次很好的先前练习,同步也深入充实了MATLAB日勺知识;第二我们深入认
识到论文格式规范性的重要,为我们未来的毕业论文的书写打下基础。
总之,本次课程设计既是对我们综合运用各科知识能力口勺培养,也是对我们
自学知识并加以运用和研究问题H勺能力得以提高。
最终,感谢谢蓉华老师日勺指导。
附录
%GUI设计程序
functionvarargout=shcji(varargin)
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn\@sheji_OpeningFcn,...
'gui_OutputFcn',@sheji_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback\[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin(1));
end
ifnargout
[varargoul{knargout}]=gui_mainfcn(gui_State,varargin{:});
else
gui_mainfcn(gui_State,varargin{:});
end
functionsheji_OpeningFcn(hObject,eventdata,handles,varargin)%初始化函数
handles.inembrane=membrane;
[x,y]=meshgrid(-8:.5:8);
r=sqrt(x.A2+y.A2)+eps;
handles.current_data=handles.membrane;
surf(handles.current_data);
set(handles.k_edit,String?O);%设置初始属性值
handles.K=str2num(get(handles.k_edit,String'));%获得属性值
set(handles.num_edit,,String\'286*);
set(handles.den_edit,'Siring',,18106');
handles.num0=str2mat(gct(handlcs.num_cdit,'String'));
handles.dcn0=str2mat(get(handles.dcn_edit,'String'));
handles.num1=str2num(handles.num0);
handles.denl=str2num(handles.den());
set(handles.AA,'String','01l;01l;-6-16-8,);
set(handles.BB,'String','0;0;1');
set(handles.CC,'String','682');
set(handles.DD,'String',,0');
set(handles.n_edit,'String','I');
AAAA=str2mat(get(handles.AA,'String'));
BBBB=str2mat(get(handles.BB,'String1));
CCCC=str2mat(get(handles.CC,'String'));
DDDD=str2mat(get(handles.DD,'String'));
handles.N=str2num(get(handles.n_edit,'String'));
handles.AAA=str2num(AAAA);
handles.BBB=str2num(BBBB);
handles.CCC=str2num(CCCC);
handles.DDD=str2num(DDDD);
handles.output=hObjecl;%设定默认输出
guidata(hObject,handles);%保留handles构造
functionvarargout=shcji_OutputFcn(hObjcct,cvcntdata,handles)
varargout{1)=handles.output;
functionnum_edit_Callback(hObject,eventdata,handles)
functionnum_edit_CreateFcn(hObject,eventdata,handles)
ifispc
seUhObject/BackgroundColor'/white1);
else
set(hObject,'BackgroundColor,,get(0,'defaultUicontrolBackgroundColor,));
end
functionden_cdit_Callback(hObject,eventdata,handles)
functiondcn_cdit_CrcateFcn(hObjcct,cvcntdata,handles)
ifispc
se^hObject/BackgroundColor*,'white');
else
set(hObject,'BackgroundColor',get(0,,defaultUicontrolBackgroundCoIor,));
end
functionAA_Callback(hObject,eventdata,handles)
functionAA_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObjecl,'BackgroundColor','while*);
else
set(hObjcct,'BackgroundColor',get(0,'dcfaultUicontrolBaekgroundColor'));
end
functionBB_Callback(hObject,eventdata,handles)
functionBB_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor,));
end
functionCC_Callback(hObjcct,cvcntdata,handles)
functionCC_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor','white*);
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCoIor'));
end
functionDD_Callback(hObject,eventdata,handles)
functionDD_CreateFcn(hObject,eventdata,handles)
ifispc
sct(hObjcct,'BackgroundColor','white');
else
set(hObject,'BackgroundColor,,get(0,'dcfaultUicontrolBackgroundColor,));
end
functionn_edit_Callback(hObject,eventdata,handles)
functionn_edit_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor','while');
else
set(hObject,'BackgroundColor\get(0,,defaultUicontrolBackgroundColor,));
end
functionk_edit_Callback(hObject,eventdata,handles)
functionk_edit_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
functionpushbutlon_Callback(hObject,eventdata,handles)
close;
functionpopupmcnu_Callback(hObjcct,cvcntdata,handles)
handles.K=str2num(get(handles.k_edit,String'));%获得标志位k
handles.num0=str2mat(get(handles.num_cdit,'String'));
handles.den()=str2mat(get(handles.den_edit,'String'));
handles.num1=str2num(handles.num0);
handles.den1=str2num(handles.den0);
AAAA=str2mat(get(handles.AA,'String'));
BBBB=str2mat(get(han(lles.BB/String'));
CCCC=str2mat(get(handles.CC,'String*));
DDDD=str2mat(get(handles.DD,'String'));
handles.N=str2num(get(handles.n_cdit,'String'));%获得输入次序号n
handles.AAA=str2num(AAAA);
handles.BBB=str2num(BBBB);
handles.CCC=str2num(CCCC);
handles.DDD=str2num(DDDD);
[handles.numx,handles.denx]=ss2tf(handles.AAA,handles.BBB,handles.CCC,handles
.DDD,handles.N);
val=get(hObject,'Value');
str=gel(hObject,'String');
switchstr{val)%绘图和计算
case'Bode'
hs=figurc;
ifhandles.K==()
bode(handles.numkhandles.denl);
elseifhandles.K==1
bode(handles.numx,handles.denx);
else
dispC标志位k=0orl');%错误提醒从命令窗口输出
hmb=msgboxCk=0or1;消息对话框?warn);%弹出提醒框
end
title('BodcFig');
case'Nyquist'
hs二figure;
ifhandles.K==O
nyquist(handles.numl,handles.den1);
elseifhandles.K==l
nyquist(handles.numx,handles.denx);
else
disp('标志位k=OorT);
h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业循环经济商业模式案例
- 脑疝患者的护理
- 村干部乡村振兴心得体会
- 城市轨道交通运营管理电子教案 2-6 客流预测方法及结果应用详解
- 研磨工安全操作规程
- 流感期间饮食与营养建议
- 老年病人家属沟通中的伦理考量
- 2.孔雀东南飞并序
- 给药治疗的药物依从性
- 贷款调解协议书范本
- 2024年山地承包合同电子版(三篇)
- 2023-2024学年高中主题班会 高中生怎样与老师沟通交往 课件
- 2024年全球人工智能在农业领域得到广泛应用
- 2023年安徽省合肥市蜀山区小升初数学真题及答案
- 平面构成-比例与分割课件
- 2023【青岛版】小学三年级数学上册课件-【信息窗2 除减、除加混合运算计算法则】
- 2022年一级注册建筑师考试《建筑材料与构造》真题及详解
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- McKinsey---开发一个综合的供应链绩效指标体系
- LY/T 2083-2013全国营造林综合核查技术规程
- GQY数字实验室实验手册定稿
评论
0/150
提交评论