| 查看: 2090 | 回复: 9 | ||
[求助]
增量式PIDmatlab仿真结果出不来,怎么回事呢??急急急....谢谢了..
|
|
%controler clear all; close all; ts=0.001; sys=tf(400,[1,50,0]); dsys=c2d(sys,ts,'z'); dsys num=[0 0.0001967 0.0001935 ]; den=[2 -1.951 0.9512]; %[mun,den]=tfdata(dsys,'v'); u_1=0.0;u_2=0.0; y_1=0;y_2=0; x(1)=0;x(2)=0;x(3)=0; error_1=0; error_2=0; for k=1;1;1000 time(k)=k*ts; rin(k)=1.0; kp=8; ki=0.10; kd=10; du(k)=kp*x(1)+ki*x(2)+kd*x(3); u(k)=u_1+du(k); if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error=rin(k)-yout(k); u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error-error_1; x(2)=error-2*error_1+error_2; x(3)=error; error_2=error_1; error_1=error; end plot(time,rin,'b',time,yout,'r'); xlable('time(s)');ylable('rin,yout');_________仿真结果是输入输出参数都为零,求各位大神解答,刚开始学习还有很多不足,谢谢了.... |
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab仿真中控制量曲线很大,达到上百或上千怎么回事
已经有5人回复
matlab中的逻辑判断怎么不正确呢?
已经有5人回复
求助:如何用MATLAB的偏微分方程工具箱画出不同区域内的温度分布图?
已经有5人回复
求助,matlab公式绘图,公式里面有两个数组,编出小程序,但不出图像
已经有4人回复
下载了MATLAB2012可是安装不了。大侠帮帮忙谢谢
已经有13人回复
求各位前辈帮忙!matlab解复数方程,出现图中的警告,怎来修改呢?谢谢了啊
已经有5人回复
sunshine819
金虫 (小有名气)
- 应助: 32 (小学生)
- 金币: 1170.9
- 散金: 7
- 红花: 2
- 帖子: 137
- 在线: 42.6小时
- 虫号: 2254567
- 注册: 2013-01-22
- 性别: GG
- 专业: 控制理论与方法

2楼2013-12-05 16:42:00
hubery.zhu
金虫 (正式写手)
- 应助: 8 (幼儿园)
- 金币: 1269.9
- 散金: 232
- 红花: 22
- 帖子: 671
- 在线: 796小时
- 虫号: 2421584
- 注册: 2013-04-17
- 性别: GG
- 专业: 人工智能与知识工程
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2013-12-06 09:41:36
流毓1988: 金币+8, ★★★★★最佳答案, 我的金币不太多,还有一个人也给我说了,所以我也给点点,不好意思,回来我有金币,就给你补回来哈 2013-12-07 15:10:00
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2013-12-06 09:41:36
流毓1988: 金币+8, ★★★★★最佳答案, 我的金币不太多,还有一个人也给我说了,所以我也给点点,不好意思,回来我有金币,就给你补回来哈 2013-12-07 15:10:00
|
%controler clear all; close all; ts=0.001; sys=tf(400,[1,50,0]); dsys=c2d(sys,ts,'z'); dsys num=[0 0.0001967 0.0001935 ]; den=[2 -1.951 0.9512]; %[mun,den]=tfdata(dsys,'v'); u_1=0.0;u_2=0.0; y_1=0;y_2=0; x(1)=0;x(2)=2;x(3)=0; error_1=0; error_2=0; for k=1:1:1000 time(k)=k*ts; rin(k)=1.0; kp=8; ki=0.10; kd=10; du(k)=kp*x(1)+ki*x(2)+kd*x(3); u(k)=u_1+du(k); if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error=rin(k)-yout(k); u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error-error_1; x(2)=error-2*error_1+error_2; x(3)=error; error_2=error_1; error_1=error; end plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');ylabel('rin,yout'); 系统是震荡的,自己调一下参数 |

3楼2013-12-05 18:31:48
4楼2013-12-06 10:25:33
5楼2013-12-06 10:31:58
liuchao0878
木虫 (小有名气)
- 应助: 29 (小学生)
- 金币: 2691
- 散金: 150
- 红花: 1
- 帖子: 194
- 在线: 410.4小时
- 虫号: 1603636
- 注册: 2012-02-07
- 性别: GG
- 专业: 控制理论与方法
【答案】应助回帖
感谢参与,应助指数 +1
|
%controler ts=0.001; sys=tf(400,[1,50,0]); dsys=c2d(sys,ts,'z'); dsys; num=[0 0.0001967 0.0001935 ]; den=[2 -1.951 0.9512]; %[mun,den]=tfdata(dsys,'v'); u_1=0.0;u_2=0.0; y_1=0;y_2=0; x(1)=0;x(2)=0;x(3)=0; error_1=0; error_2=0; for k=1:1000 time(k)=k*ts; rin(k)=1.0; kp=8; ki=0.10; kd=10; du(k)=kp*x(1)+ki*x(2)+kd*x(3); u(k)=u_1+du(k); if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error=rin(k)-yout(k); u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error-error_1; x(2)=error-2*error_1+error_2; x(3)=error; error_2=error_1; error_1=error; end plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');ylabel('rin,yout'); LZ你试试这个可以吗 |

6楼2013-12-06 11:07:07
liuchao0878
木虫 (小有名气)
- 应助: 29 (小学生)
- 金币: 2691
- 散金: 150
- 红花: 1
- 帖子: 194
- 在线: 410.4小时
- 虫号: 1603636
- 注册: 2012-02-07
- 性别: GG
- 专业: 控制理论与方法

7楼2013-12-06 11:08:44
hubery.zhu
金虫 (正式写手)
- 应助: 8 (幼儿园)
- 金币: 1269.9
- 散金: 232
- 红花: 22
- 帖子: 671
- 在线: 796小时
- 虫号: 2421584
- 注册: 2013-04-17
- 性别: GG
- 专业: 人工智能与知识工程

8楼2013-12-06 13:13:09
9楼2013-12-07 15:07:19
10楼2015-10-23 21:40:17













回复此楼
