岳叶 发表于 2008-5-14 12:06

duffing系统中加入高斯白噪声程序,错在哪里?

function dy=Dyt(t,y)
muu=0.1;
a=1;
betaa=3;
sigma=0.003;
% N=2500;
% rm=randn(N);
% t=;
% dt=0.01;
m=randn(size(t));
rm=sigma*m;
% B=wgn(1,2500,sigma);
dy=zeros(2,1);
    dy(1)=y(2);
    dy(2)=-muu*y(2)+a*y(1)-betaa*y(1)^3+rm;




close all
%数据的初始化
% mu=0.1;
% a=1;
% b=1;
% sigma=0.003;
% B=randn(1,2500);
% B=wgn(1,2500,sigma);
t0=0;
tfinal=100;
%方针开始和结束时间
tspan=;
% dt=0.01;
%系统初始条件
y0=;
options = odeset('RelTol',1e-4,'AbsTol',,'InitialStep',1e-1);
=ode45(@Dyt,tspan,y0,options);
figure(1);
plot(tt,yy(:,1))
xlabel('t'),title('y(1)')%实践历程图
figure(2);
plot(yy(:,1),yy(:,2))%像轨迹
ylabel('y(1)'),ylabel('y(2)')


好像是我的白噪声产生不对,但是不知道怎么改正,希望有人帮忙解决,谢谢

lzjtu 发表于 2008-5-14 17:25

rand 均匀分布
randn 正态分布百噪声
wgn高斯白噪声

你的sigma值取得小,所以图像不明显,
个人认为m=randn(1)就可以了。

lzjtu 发表于 2008-5-14 17:33

sigma=3

sigma=3时的相图

岳叶 发表于 2008-5-14 18:43

回复 2楼 的帖子

哦,我试了一下还是那样的而且时间历程图是趋向平衡的

lzjtu 发表于 2008-5-14 20:41

时间历程图趋向平衡说明趋于稳定,这跟你的参数选取有关

岳叶 发表于 2008-5-15 00:59

回复 5楼 的帖子

哦,谢谢了,我再运行一下程序看一下吧

wannete 发表于 2009-8-14 10:17

回复 楼主 岳叶 的帖子

请问我在duffing系统中加入噪声后,系统的状态受到影响了,我估计是加入的噪声不对,另外我用ode45解方程总存在误差,而用ode23t解,效果很好,能交流一下吗?我的qq:1054551359

wannete 发表于 2009-8-14 18:14

这个问题有谁知道的,指教一下啊!急需要这方面的知识!

wannete 发表于 2009-8-15 22:48

回复 楼主 岳叶 的帖子

请问楼主这里m=randn(size(t));中的size(t)可以去掉吗?我觉得对于每一次迭代计算时,t值都是固定值,因而得到的size(t)也是固定值,你看可以这样理解吗/?
二是我看有的duffing方程写成这种形式,怎么理解啊,都要这样写吗?
dy(1)=w_duffing*y(2);
    dy(2)=w_duffing*(-muu*y(2)+a*y(1)-betaa*y(1)^3+rm);

lehehea 发表于 2009-9-24 19:44

回复 9楼 wannete 的帖子

我也在用duffing振子检测弱正弦信号,但是加入白噪声对系统影响很大,没有那么低的信噪比,不知道你是怎么加入的噪声?望赐教

lushuang8 发表于 2009-10-5 17:11

回复

楼主的程序出现这种错误
??? Input argument 'y' is undefined.

Error in ==> D:\matlab\work\Dyt.m
On line 17==> dy(1)=y(2);
是怎么回事?

gazinv 发表于 2012-6-14 23:36

回复 7 # wannete 的帖子

为什么我画的是这样的,是不是错的很离谱?

gazinv 发表于 2012-6-14 23:37

左边是达芬系统,右边是加了高斯白噪声郁闷·不知道对不对
页: [1]
查看完整版本: duffing系统中加入高斯白噪声程序,错在哪里?