Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2009-11-16, 22:08   #1
zhangweiwei
初级会员
 
注册日期: 2009-11-11
年龄: 37
帖子: 2
声望力: 0
zhangweiwei 正向着好的方向发展
默认 读PID程序遇到的问题

主程序:
%Discrete PID control for continuous plant
clear all;
close all;

ts=0.001; %Sampling time
xk=zeros(2,1);
e_1=0;
u_1=0;

for k=1:1:2000
time(k)=k*ts

rin(k)=0.50*sin(2*pi*k?*ts);%系统的给定值

para=u_1;
tSpan=[0 ts];
[tt,xx]=ode45('chap1_2f',tSpan,xk,[],para);
xk=xx(length(xx),;
yout(k)=xk(1);

e(k)=rin(k)-yout(k);
de(k)=(e(k)-e_1)/ts;

u(k)=20.0*e(k)+0.5*de(k) %PD控制

u_1=u(k);
e_1=e(k);
end

子程序:
function dy=PlantModel(t,y,flag,para)
u=para;
J=0.0067;B=0.1;%这两个数十被控对象的传递函数的分母的系数

dy=zeros(2,1);
dy(1)=y(2);
dy(2)=-(B/J)*y(2)+(1/J)*u



红色部分没有看明白,希望有前辈帮忙,谢谢
__________________
不懂就要问
zhangweiwei 当前离线   回复时引用此帖
 

主题工具
显示模式

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

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



所有时间均为北京时间。现在的时间是 15:02


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