weiduqu 发表于 2008-11-24 22:47

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

function dy=lorenz(t,y)
a=10;
r=24.10;
b=8/3;
sigma=0.2;
rm1=wgn(1,1001,sigma);
rm2=wgn(1,1001,sigma);
rm3=wgn(1,1001,sigma);
dy=zeros(3,1);
dy(1)=-a*(y(1)-y(2))+rm1;
dy(2)=r*y(1)-y(2)-y(1)*y(3)+rm2;
dy(3)=y(1)*y(2)-b*y(3)+rm3;


%主程序
close all

y0=;
=ode45(@lorenz,0:0.06:60,y0);
figure(1);
plot(tt,yy(:,1))
xlabel('t'),title('y(1)')


下面是错误提示:
???In an assignmentA(I) = B, the number of elements in B and
I must be the same.
Error in ==> C:\Documents and Settings\Administrator\桌面\lorenz.m
On line 23==>   dy(1)=-a*(y(1)-y(2))+rm1;



我估计是高斯白噪声函数wgn搞错了,应该怎么改呢?

[ 本帖最后由 weiduqu 于 2008-11-24 22:52 编辑 ]

iewoug 发表于 2008-11-25 11:55

Lorenz系统 是什么额
能给我讲讲不
长长见识:@)

lzjtu 发表于 2008-11-28 18:12

rm1=wgn(1,1001,sigma);
rm2=wgn(1,1001,sigma);
rm3=wgn(1,1001,sigma);
该语句好像有问题
改为如下试试:
rm1=wgn(1,1,sigma);
rm2=wgn(1,1,sigma);
rm3=wgn(1,1,sigma);

weiduqu 发表于 2008-11-29 21:50

谢谢楼上的,程序没有出现错误了,但是好象噪声对系统没有任何影响, sigma大小变化而Lorenz系统相图没有改变,不知什么原因?

[ 本帖最后由 weiduqu 于 2008-11-29 21:56 编辑 ]

lzjtu 发表于 2008-11-30 20:09

我觉得还是有区别的,因为每次得到的相图不同

lzjtu 发表于 2008-11-30 20:09

我觉得还是有区别的,因为每次得到的相图不同

weiduqu 发表于 2008-12-1 08:49

程序终于调好了,谢谢lzjtu的热心帮助

lzjtu 发表于 2008-12-1 09:02

不客气,共同交流

lzmlzm1 发表于 2008-12-5 15:34

dy(1)=-a*(y(1)-y(2))+rm1;
dy(2)=r*y(1)-y(2)-y(1)*y(3)+rm2;
dy(3)=y(1)*y(2)-b*y(3)+rm3;

这样加入噪声的话   相当于在每个分量后加入一个定值 ,这还算噪声吗?

lzjtu 发表于 2008-12-5 17:58

加入的是噪声,怎么是定值?你再理解一下ode45函数。
页: [1]
查看完整版本: Lorenz系统中加入高斯白噪声程序,错在哪里?