suss2009 发表于 2011-6-29 15:52

用shinozuka方法模拟随机过程,为什么不收敛啊???

请教大家,我按照文献上用shinozuka方法模拟随机过程,m取得很大了,为什么不收敛啊???取不同的m,得到的结果都是不同的,难道m要特别大才行吗?以下是matlab程序!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%s随机激励
clear all
w=100;            %%%%%%%%%上限频率
s=100;            %%%%%%%%%%%%%白噪声功率谱
k=0;
m=2000                %%%%%%%%%%%%%频率划分数
for t=0:0.01:10            %%%%%%%%%%时间
k=k+1;
f=0;
for n=1:m
f=(2*s*w/m)^1/2*cos(n*w/m*t+2*pi*rand(1))+f;
end
ff(k)=f;
end
t=0:0.01:10;
j=1:1001;
plot(t,ff(j))
hold on
xlabel('时间sec')
ylabel('n')
for i=1:1001
   disp(['' num2str(t(i)) ',' num2str(ff(i)) ''])
end

meiyongyuandeze 发表于 2011-7-4 22:58

你的程序不收敛指的是什么?

suss2009 发表于 2011-7-5 14:33

请指教!我说的不收敛是指取不同的m,模拟得到的随机过程的幅值都是变化的,并没有趋向于一个稳定的值。可能是我理解有错,请指教!比如m=2000时
m=5000时
页: [1]
查看完整版本: 用shinozuka方法模拟随机过程,为什么不收敛啊???