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)')
好像是我的白噪声产生不对,但是不知道怎么改正,希望有人帮忙解决,谢谢 rand 均匀分布
randn 正态分布百噪声
wgn高斯白噪声
你的sigma值取得小,所以图像不明显,
个人认为m=randn(1)就可以了。
sigma=3
sigma=3时的相图回复 2楼 的帖子
哦,我试了一下还是那样的而且时间历程图是趋向平衡的 时间历程图趋向平衡说明趋于稳定,这跟你的参数选取有关回复 5楼 的帖子
哦,谢谢了,我再运行一下程序看一下吧回复 楼主 岳叶 的帖子
请问我在duffing系统中加入噪声后,系统的状态受到影响了,我估计是加入的噪声不对,另外我用ode45解方程总存在误差,而用ode23t解,效果很好,能交流一下吗?我的qq:1054551359 这个问题有谁知道的,指教一下啊!急需要这方面的知识!回复 楼主 岳叶 的帖子
请问楼主这里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);
回复 9楼 wannete 的帖子
我也在用duffing振子检测弱正弦信号,但是加入白噪声对系统影响很大,没有那么低的信噪比,不知道你是怎么加入的噪声?望赐教回复
楼主的程序出现这种错误??? Input argument 'y' is undefined.
Error in ==> D:\matlab\work\Dyt.m
On line 17==> dy(1)=y(2);
是怎么回事? 回复 7 # wannete 的帖子
为什么我画的是这样的,是不是错的很离谱?
左边是达芬系统,右边是加了高斯白噪声郁闷·不知道对不对
页:
[1]