⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 杂程序.m

📁 PID控制器设计
💻 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 + -