dmxl1984 发表于 2007-6-1 17:21

请问这个程序该怎样修改

在下面这个程序的第6行的for语句中,t的上限是512,但我实际要用的t是一个时间函数,是没有上限的,请问该怎样解决这个问题,具体的流程图我放在附件里面。
另外,第三行的b是服从正态分布的随机函数,该怎样写这个函数
u=input('输入数值u:')
p(1)=0
b=randn
r=0
a(2)=0
for t=2:512
p(t)=0.99*p(t-1)+(sin(800*t)+b)^2;
e(t)=4*sin(1000*t)+5*sin(800*(t+pi/3))-r;
y(t)=10*sin(800*t);
a(t+1)=a(t)+u*e(t)*y(t)/p(t);
end
for k=1:511
H(k)=a(k)*10*sin(800*(512-k));
end
r=sum(H(k));
e(t)=4*sin(1000*t)+5*sin(800*(t+pi/3))-r;
a(t+1)=a(t)+u*e(t)*y(t)/p(t);
for k=1:511
H(k)=a(k)*10*sin(800*(512-k));
end
r=sum(H(k));
e(t)=5*sin(800*(t+pi/3))-r;
plot(e)
页: [1]
查看完整版本: 请问这个程序该怎样修改