MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [Simulink相关] simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!! (https://www.labfans.com/bbs/showthread.php?t=11578)

286301895 2010-05-21 15:41

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 2010-05-21 15:50

回复: simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!
 
补充一点,就是系统延时是1,而且我估计问题就出在延时环节上,希望高手解答

286301895 2010-05-23 10:37

回复: simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!
 
怎么就没人来帮帮我呢

gyf8674 2010-05-23 13:27

回复: simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!
 
我也碰到了同样的问题!已经好几天了,看书,书上也没说明的,相当恼火呀!

286301895 2010-05-23 19:11

回复: simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!
 
你把你的程序喝SIMULINK也发出来,能不能让我参考下???

anbcjys 2010-05-24 08:47

回复: simulink相应曲线与自己编的M文件曲线不同,请高手帮忙!!
 
首先看采样时间是否一样 另外计算微分方程的方法不一样 结果肯定也不一样


所有时间均为北京时间。现在的时间是 14:08

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