标签:
杂谈 |
分类: 程式 |
早在1968年,美国IBM公司的大林(Dahlin)就提出了一种不同于常规控制规律的新型算法,即大林算法。该算法的最大特点是将期望的闭环响应设计成一阶惯性加纯延迟,然后反过来得到能满足这种闭环响应的控制器。
设被控对象为
采样时间为0.5s,用大林算法设计闭环响应,并用MATLAB进行仿真,同时作出采用普通PID控制算法的图形,与采用大林算法的图形比较,得出结论。
参考程序:
%Delay Control with Dalin Algorithm
clear all;
close all;
ts=0.5;
%Plant
sys1=tf([1],[0.4,1],'inputdelay',0.76);
dsys1=c2d(sys1,ts,'zoh');
[num1,den1]=tfdata(dsys1,'v');
%Ideal closed loop
sys2=tf([1],[0.15,1],'inputdelay',0.76);
dsys2=c2d(sys2,ts,'zoh');
%Design Dalin controller
dsys=1/dsys1*dsys2/(1-dsys2);
[num
标签:
杂谈 |
分类: 程式 |
如图所示系统,分别针对以下三种情况加入非线性环节,采用离散相似法进行仿真,适当改变S同时与非线性环节的情况比较。
1)在A处加入饱和非线性环节
2)在A处加入死区非线性环节
3)在B处加入滞环非线性环节
参考程序:
%------filename:satu.m------
function uc=satu(ur,s1)
end;
%------filename:dead.m------
function uc=dead(ur,s1)
标签:
杂谈 |
分类: 程式 |
用离散相似法仿真程序重现输出Y1的数据和曲线,并与四阶龙格一库塔法比较精度。
参考程序:
P=[1 0.01 1 0;0 0.085 1 0.17;1 0.01 1 0;0 0.051 1 0.15;
WIJ=[1 0 1;2 1 1;2 9 -1;3 2 1;4 3 1;4 8 -1;5 4 1;6 5 1;6 7 -0.212;7
6 1;8 6 1;9 7 1];
n=9;
Y0=1;
Yt0=[0 0 0 0 0 0 0 0 0];
h=0.001;
T=0;
T0=0;
Tf=5;
Nout=7;
A=P(:,1);B=P(:,2);
C=P(:,3);D=P(:,4);
m=length(WIJ(:,1));
W0=zeros(n,1);W=zeros(n,n);
for k=1:m
end;
for i=1:n
标签:
杂谈 |
分类: 程式 |
参考程序:
p=[1 0.01 1 0;
WIJ=[1 0 1;
n=9;
y0=1;
yt0=[
标签:
杂谈 |
分类: 程式 |
1、x'=-x+t,u=t,h=0.1,t=[0,10],在MATLAB语言环境下构造m文件,编写RK4算法程序进行求解,绘图显示运算结果。
参考程序:
x=1;
y=x;
h=0.1;
N=round(10/h);
t=0;
T=0;
for i=1:N
end
plot(T,y);
参考结果:
2、x'=-x+t,x(0)=1,t=[0,10],h=0.1,调用ode45函数进行求解,绘图显示运行结果;并与上题的仿真结果进行对照;适当改变步长h,观察仿真效果并进行分析。
参考程序:
%--------filename:dep.m---------
function y=dep(t,x)
y=-x+t;
%--------filename:dep2.m--------
clc;