加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
用matlab的guide写了个滞后校正的
布布卡2017/08/12软件综合 IP:北京

不知道有没有用 12.jpg

Other
s = tf('s'); gs = input('请输入原开环传递函数\n 例如: 1/(s*(0.1*s+1)*(0.05*s+1)) \ngs ='); % 稳态误差 N = input('请输入给定信号表达式\n 例如: 1/s^2 \n N = '); E =s*N/(1+gs); G1 = E; clear s syms s [num,den] = tfdata(G1);%开始转换类型 tf->sym Na = size(den); for i=1:Na(1) for k=1:Na(2) Num=poly2sym(num{i,k},s); Den=poly2sym(den{i,k},s); sym_G1(i,k)=Num/Den; end end assignin('base','sym_G1',sym_G1); E = sym_G1; ess2 = limit(E,s,0,'right'); ess = input('请输入期望的稳态误差 ess = '); K = double(ess2)/ess ;%求得满足稳态误差的最小开环增益 clear s s = tf('s'); disp(['最小开环增益K = ',num2str(K)]) K = input('请输入开环增益K = '); gs=K*gs%更新系统传递函数 figure(1) margin(gs); [gm0 pm0 wg0 wp0] = margin(gs); gm0=20*log10(gm0); disp(['原系统幅值裕度Lg = ',num2str(gm0),'dB ','相角裕度γ = ',num2str(pm0)]) lg = input('请输入目标幅值裕度Lg = '); gama = input('请输入目标相角裕度γ = '); disp(['选用滞后校正 ']) % 截止频率 gama1=gama+5; [mu pu w]=bode(gs); wc=spline(pu,w,(gama1-180));%相对于pu的w的值的规律插值得到相对于(gama1-180)的值 disp(['截止频率wc = ',num2str(wc)]); % 计算β na=polyval(gs.num{1},j*wc); da=polyval(gs.den{1},j*wc); g=na/da; g1=abs(g); h=20*log10(g1); beta=10^(h/20); disp(['β = ',num2str(beta)]); % 计算校正环节参数 T=10/wc disp('校正环节:') gc=(T*s+1)/(beta*T*s+1) disp('校正后系统传递函数:') g=gs*gc disp('校正后系统传伯德图:') figure(2) bode(g); [gm pm wg wp]=margin(g); disp(['校正后系统幅值裕度Lg = ',num2str(gm),'dB ','相角裕度γ = ',num2str(pm)]) %阶跃响应 sys1=feedback(gs,1); sys2=feedback(g,1); figure(3) hold on step(sys1) step(sys2) hold off figure(4) hold on bode(gs) bode(g) hold off

程序写的比较烂
attachment icon 滞后校正参数计算.mlappinstall 111.09KB MLAPPINSTALL 40次下载

[修改于 7年7个月前 - 2017/08/12 19:44:39]

来自:计算机科学 / 软件综合
0
新版本公告
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
布布卡
学者 机友 笔友
文章
100
回复
2384
学术分
4
2010/02/21注册,3天11时前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的