Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2010-05-21, 15:41   #1
286301895
初级会员
 
注册日期: 2010-05-21
年龄: 37
帖子: 6
声望力: 0
286301895 正向着好的方向发展
默认 simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!

clear all
num=10;den=[100,20,1];
[a1,b,c,d]=tf2ss(num,den);
x=[0;0];
T=0.01;h=T;
td=1
Nd=td/T; %纯延时环节;
N=1000;
R=1*ones(1,N);
%PID部分
e=0;de=0;ie=0;Td=7/3.5;Ti=30
kp=2.5;kd=kp*Td/T;ki=kp*T/Ti;
for k=1:N
uu1(1,k)=-(kp*e+kd*de+ki*ie);
%延迟环节
if k<=Nd
u1=0;
else
u1=uu1(1,k-Nd);
end
k0=a1*x+b*u1;
k1=a1*(x+h*k0/2)+b*u1;
k2=a1*(x+h*k1/2)+b*u1;
k3=a1*(x+h*k2)+b*u1;
x=x+(k0+2*k1+2*k2+k3)*h/6;
y=c*x+d*u1;
%计算误差,微分和积分
e1=e;
e=y(1,1)-R(1,k);
de=(e-e1)/T;
ie=e*T+ie;
yy1(1,k)=y;
plot(yy1)
end
这是M文件,但是simulink图我不会发,其实就是单纯的PID控制器然后一个系统传函,一个延迟,一个单位负反馈,就这么简单,请高手赐教!!!!!!
286301895 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.