声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: mechanic05

[稳定性与分岔] 请教关于分岔程序

[复制链接]
 楼主| 发表于 2007-7-17 10:03 | 显示全部楼层

回复 #90 咕噜噜 的帖子

前辈好!
我的算了一晚上,到现在机子出了点问题,报废了:@L .也许是因为别人给的MATLAB7.0是盗版的?盗版的回影响以后应用吗?
还有,plot(omega(h),x(25000:100:end,2),'k.');hold on中,是说从25000开始每隔100取值,那从接近30000取不是更好?

请指教!
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-7-17 10:16 | 显示全部楼层
你总共才30000个点
 楼主| 发表于 2007-7-17 10:28 | 显示全部楼层

回复 #92 无水1324 的帖子

请教前辈:那摸这个问题去掉瞬态响应还有好办法吗?我前面画出的图太乱了!现在该成25000看起来也很慢.还在算.顺便问一下:盗版的7.0会因影响以后的计算吗?:@)
发表于 2007-7-17 10:43 | 显示全部楼层
盗版的7.0一般不会影响计算,不行你就改成28000
发表于 2007-7-17 10:51 | 显示全部楼层
:@L :@L 汉!!

取[0:T/100:300*T]太慢了,我就取了100×T,结果是这样的,这个分岔图看不出效果
untitled.jpg
 楼主| 发表于 2007-7-17 10:54 | 显示全部楼层

回复 #95 octopussheng 的帖子

前辈好!
你的这个算了多长时间?我前面给的图大约算了1.5个小时.:lol
发表于 2007-7-17 10:54 | 显示全部楼层
6.5以上版本的计算速度相对而言要慢些
改成6.5程序不要变。
发表于 2007-7-17 10:56 | 显示全部楼层
function xdot=dddd(t,x,flag,omega)
eta=0.1 ; a= -48.704; b= 24.35e4;gamma= 1;
xdot=[x(2);a*x(1)-b*x(1)^3-eta*x(2)+gamma*cos(omega*t)];


clear;clc;close all;
omega=0.1:0.01:4;
for h=1:length(omega)
    T=2*pi/omega(h);
    [t,x]=ode45('dddd',[0:T/100:220*T],[0 0],[],omega(h));
    plot(omega(h),x(21000:100:end,2),'k.');hold on
end
 楼主| 发表于 2007-7-17 11:01 | 显示全部楼层

回复 #98 无水1324 的帖子

谢谢前辈!
不过程序里有个小变化才行.如红色标记:
function xdot=dddd(t,x,flag,omega)
eta=0.1 ; a= -48.704; b= 24.35e4;gamma= 1;
xdot=[x(2);-a*x(1)-b*x(1)^3-eta*x(2)+gamma*cos(omega*t)];


clear;clc;close all;
omega=0.1:0.01:4;
for h=1:length(omega)
    T=2*pi/omega(h);
    [t,x]=ode45('dddd',[0:T/100:220*T],[0 0],[],omega(h));
    plot(omega(h),x(21000:100:end,2),'k.');hold on
end
发表于 2007-7-17 11:09 | 显示全部楼层
差不多吧,1小时左右
发表于 2007-7-17 11:40 | 显示全部楼层

回复 #99 mechanic05 的帖子

负号的话是他自己的方程的问题了。我没有看到方程,就这能对程序作出判断
发表于 2007-7-17 14:43 | 显示全部楼层
这个确实应该是方程的问题了,按照她这个方程,分岔图看来是效果不好的!

我拿我那个方法再给她试试看!
 楼主| 发表于 2007-7-17 15:34 | 显示全部楼层

回复 #102 octopussheng 的帖子

前辈好!
我的方程是:
dx1/dt=x2
dx2/dt=-a*x1-b*x1^3-eta*x2+gamma*cos(omega*t).本来就有负号的.谢谢!
发表于 2007-7-17 15:54 | 显示全部楼层
呵呵,看到你的方程了,我用我的方法把分岔图做了一下,第一个图是a前面没有负号,即
a*x(1)-b*x(1).^3-eta*x(2)+gamma*cos(omega*t)


第二个分岔图是有负号的,即
-a*x(1)-b*x(1).^3-eta*x(2)+gamma*cos(omega*t)

第二个分岔图看的比第一个要好很多!

也请无水、咕噜噜这些高手看看,让他们帮你分析分析吧

这个是a前面没有负号的

这个是a前面没有负号的

这个是a前面有负号的

这个是a前面有负号的
 楼主| 发表于 2007-7-17 16:05 | 显示全部楼层

回复 #104 octopussheng 的帖子

多谢前辈!我的程序是:
function xdot=dddd(t,x,flag,omega)
eta=0.1 ; a= -48.704; b= 24.35e4;gamma= 1;
xdot=[x(2);-a*x(1)-b*x(1)^3-eta*x(2)+gamma*cos(omega*t)];


clear;clc;close all;
omega=0.01:0.01:4;
for h=1:length(omega)
    T=2*pi/omega(h);
    [t,x]=ode45('dddd',[0:T/100:220*T],[0 0],[],omega(h));
    plot(omega(h),x(10000:100:end,2),'k.');hold on
end
bif.jpg
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-27 06:28 , Processed in 0.059605 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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