📄 杂程序.m
字号:
%读入模型,然后绘图
num=str2num(get(handles.edit1,'string'));
den=str2num(get(handles.edit2,'string'));
G=tf(num,den);
vv=getfod(G); %用模型转换
[Gc1,Kp1]=cohen(1,vv); %可以将cohen换成ziegler,下同
[Gc2,Kp2,Ti2]=cohen(2,vv);
[Gc3,Kp3,Ti3,Td3]=cohen(3,vv);
[Gc4,Kp4,Ti4,Td4]=cohen(4,vv);
G_c1=feedback(G*Gc1,1);step(Gc1);
G_c2=feedback(G*Gc2,1);step(Gc2);
G_c3=feedback(G*Gc3,1);step(Gc3);
G_c4=feedback(G*Gc4,1);step(Gc4);
%ziegler可以不用模型转换,用下面两条指令来代替 vv=getfod(G);
[Kc,pp,wg,wp]=margin(G);
Tc=2*pi/wg;
%
[num,den]=zp2tf(z,p,k);
%在按钮比如"阶跃响应曲线"的回调函数下写入如下程序
%获取模型
num=str2num(get(handles.edit1,'string'));
den=str2num(get(handles.edit2,'string'));
G=tf(num,den);
%
vars=getfod(G,method);
if *** %某个单选钮被选中,比如Ziegler-Nichols
key=*** %将被选中的下拉菜单的索引值传给key
[Gc,Kp,Ti,Td]=ziegler(key,vars);
G_0=feedback(G,1);
G_c=feedback(G*Gc,1);
subplot(2,1,1);
step(G_0);
title('未校正系统阶跃曲线');
subplot(2,1,2);
step(G_c);
title('已校正系统阶跃曲线');
elseif *** %另一个被按下,同上
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -