线性时变系统的PID控制-2
创始人
2024-05-15 05:08:41
0

在线性时变系统的PID控制-1的基础上采用S函数进行Simulink仿真。

被控对象的描述方式可变换为:

在S函数中,采用初始化、微分函数和输出函数,即mdllnitializeSizes函数、mdIDerivatives函数和mdlOutputs函数。在初始化中采用sizes结构,选择1个输出。3个输入,3个输入实现了P、I、D三项的输入。S函数嵌入在Simulink程序中。系统初始状态为: x(0)=0,t(0)=0。取kp=10,ki =2,kd=1,仿真结果如图所示。

仿真图:

S函数控制器子函数程序:chap1_5ctrl.m

function [sys,x0,str,ts]= spacemodel(t,x.u,flag)

switch flag,

case 0,

[sys,x0,str,ts]-mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u);

case 3,

sys=mdlOutputs(t,x,u);

case {2,4,9}

sys=[ ];

otherwise

error(['Unhandled flag = ',num2st(flag)]);

end

function[sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates=0;

sizes.NumDiscStates= 0;

sizes.NumOutputs=l;

sizes.NumInputs =3;

sizes.DirFeedthrough=l;

sizes.NumSampleTimes =1;% At least one sample time is needed

sys - simsizes(sizes);

x0=[];

str=[];

ts=[0 0];

function sys=mdlOutputs(t,x,u)

kp=10;

ki=2;

kd=1;

ut=kp*u(1)+ki*u(2)+kd*u(3);

sys(1)=ut;

S函数被控对象子程序:chap1_5plant.m

function [sys,x0,str,ts] = spacemodel(t,x,u, flag)

switch flag,

case 0,

[sys,x0,str,ts]=mdllnitializeSizes;

case 1,

sys=mdlDerivatives(t.x,u);

case 3,

sys=mdIOutputs(t,x,u);

case {2,4,9}

sys=[];

otherwise

error(['Unhandled flag =' num2str(flag));

end

function [sys,x0,str,ts]=mdllnitializeSizes

sizes= simsizes;

sizes.NumContStates= 2;

sizes.NumDiscStates=0;

sizes.NumOutputs=1;

sizes.NumInputs=1;

sizes.DirFeedthrough=0;

sizes.NumSampleTimes = l; % At least one sample time is needed

sys = simsizes(sizes);

x0=[0;0];

str=[];ts =[0 0];

function sys=mdlDerivatives(t,x,u) %Time-varying model

ut= u(1);

J=20+10*sin(6*pi*t);

K=400+300*sin(2*pi*t);sys( 1)-x(2);

sys(2)=-J*x(2)+K*ut;

function sys=mdlOutputs(t,x,u)

sys(1)=x(1);

作图程序:

close all;

plot(ty(:,1),t,ty(:,2),'k:' linewidth’,2);

xlabel('time(s));ylabel('yd,y');

legend('Ideal position signal','Position tracking');s

通过本实例的仿真可见,采用S函数,很容易地表示复杂的被控对象及控制算法,特别适合于复杂控制系统的仿真。

相关内容

热门资讯

安卓共有多少种系统,究竟有多少... 你有没有想过,安卓这个我们每天不离手的操作系统,竟然有那么多不同的版本呢?没错,安卓系统就像一个大家...
安卓系统怎么播放swf,And... 你有没有遇到过这种情况:手里拿着一部安卓手机,想看一个SWF格式的动画,结果发现怎么也打不开?别急,...
pos机安卓系统跟win系统,... 你有没有想过,那些在我们生活中默默无闻的POS机,竟然也有自己的操作系统呢?没错,就是安卓系统和Wi...
俄罗斯封禁安卓系统,本土化替代... 俄罗斯封禁安卓系统的背后:技术、经济与社会的影响在数字化浪潮席卷全球的今天,智能手机已成为我们生活中...
安卓系统总是弹出权限,安卓系统... 手机里的安卓系统是不是总爱和你玩捉迷藏?每次打开一个应用,它就跳出来问你要不要给它开权限,真是让人又...
安卓系统测血氧,便捷健康生活新... 你知道吗?现在科技的发展真是让人惊叹不已!手机,这个我们日常生活中不可或缺的小玩意儿,竟然也能变身成...
蓝光助手安卓系统的,深度解析与... 你有没有发现,现在手机屏幕越来越大,看视频、刷抖音,简直爽到飞起!但是,你知道吗?长时间盯着屏幕,尤...
安卓系统如何隐藏提示,Andr... 你是不是也和我一样,在使用安卓手机的时候,总是被那些弹出来的提示信息打扰到?别急,今天就来教你怎么巧...
安卓6.0系统如何分区,And... 你有没有想过,你的安卓手机里那些神秘的分区到底是怎么来的?别急,今天就来给你揭秘安卓6.0系统如何分...
安卓系统图片怎么涂鸦,指尖上的... 你有没有想过,在安卓系统的手机上,那些单调的图片也能变得生动有趣呢?没错,就是涂鸦!今天,就让我来带...
安卓系统40g,40GB存储空... 你有没有发现,最近你的安卓手机突然变得有点“胖”了呢?没错,就是那个传说中的40G!别急,别慌,今天...
安卓5.0系统怎么重置,轻松实... 手机用久了是不是感觉卡得要命?别急,今天就来教你怎么给安卓5.0系统来个彻底的重置,让它焕发新生!一...
安卓系统是不是快要,安卓系统即... 你有没有发现,最近安卓系统好像有点儿“不安分”了呢?是不是快要发生什么大事情?咱们一起来探个究竟吧!...
安卓6系统和8系统差别,全面对... 你有没有发现,手机更新换代的速度简直就像坐上了火箭呢?这不,安卓系统也跟着时代的步伐,从6系统一路升...
安卓11系统推荐下载,体验全新... 你有没有发现,最近手机界又掀起了一股热潮?没错,就是安卓11系统!这款全新的操作系统一经推出,就吸引...
原生安卓系统怎样升级,从基础到... 你有没有发现,你的安卓手机用久了,有时候就像老牛拉车一样,慢吞吞的?别急,今天就来给你支个招,让你的...
安卓13系统怎么开发,开发者的... 你有没有听说安卓13系统已经发布了?这可是个大新闻呢!作为一个热衷于手机开发的小伙伴,你是不是也跃跃...
安卓q系统镜像下载,轻松升级体... 你有没有听说安卓Q系统已经发布了?这可是安卓家族里的一大亮点呢!今天,我就要来给你详细介绍一下安卓Q...
安卓系统色彩校正软件,打造个性... 你有没有发现,手机屏幕的色彩有时候会让人感觉不太对劲?有时候,画面看起来有点灰蒙蒙的,有时候又太艳丽...
苹果能否下个安卓系统,开启新篇... 你有没有想过,苹果的iOS系统会不会有一天突然宣布,它要拥抱安卓的大家庭呢?想象iPhone和iPa...