声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1691|回复: 2

[混合编程] rossler分岔图讨论

[复制链接]
发表于 2013-6-28 18:46 | 显示全部楼层 |阅读模式

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

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

x
控制参数c在区间[2.5,8]之间,程序可以很好的运行。但是超过8,例如当区间取到[2.5,9],程序就会出错。错误如下:
Error using vertcat
CAT arguments dimensions are not consistent.


Error in rossler_bif (line 29)
rosler=[rosler;fradata1];



程序如下:
%%rossler方程%
function u =rosser(t,x)
global  c
a=0.2; b=0.2;
u =[-x(2)-x(3), x(1)+a*x(2), b+x(3)*(x(1)-c)]';


%%求分岔图的程序%
clear all
global c
rosler=[];
M=[2.5:0.001:9];
counter=1;                                                        
for counter=1:length(M)
       c=M(counter);
    i=2;
xmax=0;
xmaxold=0;
frmdata=[];
error=0;
tspan=[0 300];
var=1;
y0=[0.5;0.3;0.2];
[t,x]=ode45(@rosser,tspan,y0);
while i < size(x,1)
        if x(i-1,var) < x(i,var) & x(i+1,var) <= x(i,var)
            xmax=x(i,var);
            if xmaxold ~= 0
                frmdata=[frmdata ; xmax xmaxold];                  
            end
                xmaxold=xmax;
        end
        i=i+1;
end
r= length(frmdata)-20:length(frmdata);
fradata1(1,r)=frmdata(r,1);
rosler=[rosler;fradata1];
end
plot(M,rosler,'b.','markersize',1);
        xlabel(sprintf('c'));
ylabel(sprintf('x'))






麻烦大家帮我看一下,谢谢大家!
回复
分享到:

使用道具 举报

发表于 2013-7-1 15:18 | 显示全部楼层
个人水平/时间有限, 要看清LZ的程序真有些吃力, 仅试试断点看看
为省时间修改M=[8:0.01:9];

1.程式报错中断后, 建议看下workspace! 不难发现rosler为15*50;而fradata1为1*51; 当然会报错dimensions are not consistent
2.问题可能出在那个while loop, 初看好像在找极大值! 可以参考这些帖
  一种有效的包络线算法 http://forum.vibunion.com/thread-32967-1-1.html
   求画出振荡的包络线图 http://forum.vibunion.com/thread-28736-1-1.html
   http://www.mathworks.com/matlabc ... ange/24902-envelope
  求非线性曲线波峰和波谷的坐标 http://forum.vibunion.com/thread-95495-1-1.html
  Detect zero level crossing of signals http://www.mathworks.com/matlabcentral/fileexchange/2432
  找函数极大值点的再讨论 http://forum.vibunion.com/thread-86242-1-1.html

3.归总, LZ可确认每一counter所算出的x有一样的个数吗? 不然就会报这个错
 楼主| 发表于 2013-7-2 15:11 | 显示全部楼层

谢谢你,确实是这个问题,已经解决。每次算完一组数据就进行画图,然后将rosler重新赋予空数组,这样就不会限制他的维数了。因为也是初学这个,很多问题都发现不了,也意识不到,所以有问题还需要多多请教。谢谢

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-28 23:07 , Processed in 0.073229 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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