声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1888|回复: 9

[非线性振动] Lorenz系统中加入高斯白噪声程序,错在哪里?

[复制链接]
发表于 2008-11-24 22:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
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=[8,8,12];
[tt,yy]=ode45(@lorenz,0:0.06:60,y0);
figure(1);
plot(tt,yy(:,1))
xlabel('t'),title('y(1)')


下面是错误提示:
???  In an assignment  A(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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-11-25 11:55 | 显示全部楼层
Lorenz系统 是什么额
能给我讲讲不
长长见识:@)
发表于 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);
 楼主| 发表于 2008-11-29 21:50 | 显示全部楼层
谢谢楼上的,程序没有出现错误了,但是好象噪声对系统没有任何影响, sigma大小变化而Lorenz系统相图没有改变,不知什么原因?

[ 本帖最后由 weiduqu 于 2008-11-29 21:56 编辑 ]
发表于 2008-11-30 20:09 | 显示全部楼层
我觉得还是有区别的,因为每次得到的相图不同

sigma=0.2时的相图

sigma=0.2时的相图
发表于 2008-11-30 20:09 | 显示全部楼层
我觉得还是有区别的,因为每次得到的相图不同

1.2

1.2
 楼主| 发表于 2008-12-1 08:49 | 显示全部楼层
程序终于调好了,谢谢lzjtu的热心帮助
发表于 2008-12-1 09:02 | 显示全部楼层
不客气,共同交流
发表于 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;

这样加入噪声的话   相当于在每个分量后加入一个定值 ,这还算噪声吗?
发表于 2008-12-5 17:58 | 显示全部楼层
加入的是噪声,怎么是定值?你再理解一下ode45函数。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 07:39 , Processed in 0.056942 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表