一阶惯性环节matlab编程_matlab一阶惯性环节

一阶惯性环节matlab编程_matlab一阶惯性环节该楼层疑似违规已被系统折叠隐藏此楼查看此楼我照着网上的程序自己改出来的程序是这样的clc;clear;ts=0.001;%采样时间sys=tf(-53,[19926,100],’ioDelay’,540);%tf是传递函数,用来实现G(s);在自动控制领域经常用到,dsys=c2d(sys,ts,’z’);%把控制函数离散化,转化…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我照着网上的程序自己改出来的程序是这样的

clc;

clear ;

ts=0.001; %采样时间

sys=tf(-53,[19926,100],’ioDelay’,540); %tf是传递函数,用来实现G(s); 在自动控制领域经常用到,

dsys=c2d(sys,ts,’z’); %把控制函数离散化,转化为拆分方程

[num,den]=tfdata(dsys,’v’); % 离散化后提取分子、分母 ,提取拆分方程系数

u_0=0.0;

u_1=0.0;

u_2=0.0;

y_1=0.0;

y_2=0.0;

x=[0,0,0]’;

error_1=0;

error_2=0;

for k=1:1:1000000

time(k)=k*ts; %采样次数

S=1; %选择需要跟踪的函数

if S==1

kp=-2.5237;ki=-025316;kd=18.2627; %初始化PID

rin(k)=1; %Step Signal ,阶跃信号

end

if S==2

kp=x;ki=x;kd=x;

rin(k)=0.5*sin(2*pi*k*ts); %Sine Signal 正弦信号

end

if S==3 %三角波信号

kp=x;ki=x;kd=x;

if mod(time(k),2)<1

rin(k)=mod(time(k),1);

else

rin(k)=1-mod(time(k),1);

end

rin(k)=rin(k)-0.5;

end

if S==4 %锯齿波信号

kp=x;ki=x;kd=x; %测试得合适参数,如果输出过冲,可将kd调小。

rin(k)=mod(time(k),1);

end

du(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller 控制系数

u(k)=u_1+du(k);

%Linear model

yout(k)=-den(2)*y_1+num(1)*u_0+num(2)*u_1; %实际输出

error(k)=rin(k)-yout(k); %Return of parameters 误差

u_2=u_1; %保存上上次输入 为下次计算

u_1=u(k); %保存上一次控制系数 为下次计算

y_2=y_1; %保存上上次次输出 为下次计算

y_1=yout(k); %保存上一次输出 为下次计算

x(1)=error(k)-error_1; %Calculating P

x(2)=error(k)-2*error_1+error_2; %Calculating D

x(3)=error(k); %Calculating I

error_2=error_1;

error_1=error(k);

end

figure(1);

plot(time,rin,’b’,time,yout,’r’); %输入 和实际控制输出

xlabel(‘time(s)’),ylabel(‘rin,yout’);

axis([0,1000,0,1.2]);

% figure(2);

% plot(time,error,’r’) %输入与输出误差输出曲线

% xlabel(‘time(s)’);ylabel(‘error’);

得到的图形是这样的

5331104c75716c236664e4710d3946ce.png

我用Simulink得到的图是这样的

21ca07a2b5b5dd4e3d7816de6d945411.png

有大佬告诉我一下我的程序哪里出错了吗

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185896.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python基础知识总结(期末复习精简版)「建议收藏」

    Python基础知识总结(期末复习精简版)「建议收藏」–缩进–注释–命名–变量–保留字–数据类型–字符串–整数–浮点数–列表–字典–赋值语句–分支语句–函数–input()–print()–eval()–print()及其格式化

    2022年6月6日
  • export命令[通俗易懂]

    export命令[通俗易懂]export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

    2022年9月7日
  • Python安装与第三方工具——pycharm安装

    Python安装与第三方工具——pycharm安装​​

    2022年8月28日
  • VMware的虚拟机连不上网

    VMware的虚拟机连不上网1.如果你发现在VMware下运行的虚拟机无法连接网络,那下面的方法也许可以帮到你。(前提是你的物理网络是通的)第一步:在VMware界面下单击“编辑“→”虚拟网络编辑器”第二步:单击”更改设置”获取权限,如果有。则不需要单击第三步:单击左下角的”恢复默认设置“,等待完成,然后确定退出。第四步:刚刚恢复默认后有两个,你自己…

    2022年6月26日
  • 永远埋藏我的故事_把你藏进我的回忆

    永远埋藏我的故事_把你藏进我的回忆因为本身大家看来可能就很俗套吧!可是昨天他的一句话,我地动山摇,他还是牺牲了我来成全他的事业!在我没发生这件事情之前,我也很轻描淡写的劝我曾经遇见这样事情的大学同学,可是没想到一向心高气傲的我也会这样不理智,甚至可以说是堕落!      今年我大学毕业,说来很可笑,我现在还是初恋,没遇见他之前我的手都没让男生拉过,借别的系的师兄说的话,我是冷美人,可望不可急。是的,我一直都认为漂亮不是资本,而事业

    2022年9月17日
  • java axis_Java 使用Axis实现WebService实例

    java axis_Java 使用Axis实现WebService实例在上一篇WebService实例中,基于jdk1.6以上的javax.jws发布webservice接口。这篇博文则主要用eclipse/myeclipse使用axis插件进行发布和调用WebService。1.下载axis,并解压到tomcat/webapps目录下2.在tomcat部署axis2启动tomcat,可以看到多了个axis2文件在浏览器输入:http://localho…

    2022年7月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号