gwei 发表于 2007-6-1 11:51

请帮我看下这个程序

clear all
time_step=0.001;
time_end=10;
t=0:time_step:time_end;
count=length(t);%仿真的点的数目
T=5;
%s_input=gensig('square',T,time_end,time_step);%生成周期为T,持续时间为time_end,采样时间为time_step的方波信号
s_input=ones(1,count);
Am=-0.1;Bm=1;
Ap=zeros(1,count);
Bp=zeros(1,count);
xp=zeros(1,count);
xm=zeros(1,count);
Fa=1;Fb=1;Q=0.2;P=1;
up=s_input;
for i=2:count
    e(i-1)=xm(i-1)-xp(i-1);
    dAp=Fa*P*e(i-1)*xp(i-1)';
    dBp=Fb*P*e(i-1)*up(i-1);
    Ap(i)=Ap(i-1)+dAp*time_step;
    Bp(i)=Bp(i-1)+dBp*time_step;
    xp(i)=xp(i-1)+(Ap(i)*xp(i-1)+Bp(i)*up(i-1))*time_step;
end
%plot(t,up);hold on;
plot(t,xp)
现在得到xp为0,实在搞不懂,请高手告知一下哪里的问题,多谢了

mulan 发表于 2007-6-1 12:05

你的xm、xp都是0,自然e也为0,后面都是0了

gwei 发表于 2007-6-1 13:09

回复 #2 mulan 的帖子

多谢了,呵呵,刚开始学,没什么经验,还请大家多帮忙啊
页: [1]
查看完整版本: 请帮我看下这个程序