声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1992|回复: 2

[编程技巧] [求助]程序的疑问

[复制链接]
发表于 2007-5-20 13:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
u_1=0;u_2=0;u_2=0;u_2=0;u_2=0;
y_1=0;
e_1=0;e_2=0;
....
rin(k)=....
yout(k)=-den(2)*y_1+num(2)*u_5;
e(k)=rin(k)*yout(k);
ec(k)=e(k)-e_1;
...
u(k)=u_1+kp(k)*((e(k)-e_1)+0.3*e(k)+0.3*(e(k)-2*e_1+e_2))
...
u_5=u_4; u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_1=yout(k);
e_2=e_1;
e_1=e(k);
end
上面省略号的都是无关紧要的或者是固定的不影响的.
问题在于红色标记的部分.
u_1表示什么,表示u(k)当k=1时候的u(1)??好象又表示u(k-1)
u(k)=u_1+kp(k)*((e(k)-e_1)+0.3*e(k)+0.3*(e(k)-2*e_1+e_2))
当k=1时候用到u_1,那么k=2的时候呢?还是用u_1,e_1,e_2?那不就表示用的都是常值了么,而这些值前面都等于0,那不是等于没加么?
但前后我总感觉这个解释不通,没能理解的了,所以红色标记部分应该是关键,但不知道为什么,大家帮下忙,谢谢.
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-5-20 13:57 | 显示全部楼层

再问一个问题

>> sys=tf(5.235e005,[1,87.35,1.047e004,0]);这一步是根据已知的传函来写的
>> ts=0.001;dsys=c2d(sys,ts,'z');这一步是化成z的,但方法是什么?好象这里只有zoh等形式,没有z的形式,这些方法计算出来后的传函都是以z来表达,那么与原来传函之间的关系又是怎么转化的?好象是个除法,以前知道,但现在忘:@L
 楼主| 发表于 2007-5-20 22:28 | 显示全部楼层
原帖由 cdwxg 于 2007-5-20 13:31 发表
u_1=0;u_2=0;u_2=0;u_2=0;u_2=0;
y_1=0;
e_1=0;e_2=0;
....
rin(k)=....
yout(k)=-den(2)*y_1+num(2)*u_5;
e(k)=rin(k)*yout(k);
ec(k)=e(k)-e_1;
...
u(k)=u_1+kp(k)*((e(k)-e_1)+0.3*e(k)+0.3*(e(k) ...

知道了,其实u_1=u(k);这个才有用
其他u_2,3,4,5都没用。
只是一个循环迭代罢了,当时被这么多搞晕了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-5 22:37 , Processed in 0.071780 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表