声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2395|回复: 12

[稳定性与分岔] 急急急!哪位高手帮忙一下,分岔图总是画不对,3月毕业要用的啊

[复制链接]
发表于 2011-2-27 21:49 | 显示全部楼层 |阅读模式

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

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

x
研究的是Kelvin粘弹性输流管道的分岔图,程序如下
function dy=kelvin(t,x,j)
d=0.5;
c1=cosh(1.875*d)-cos(1.875*d)-0.734*(sinh(1.875*d)-sin(1.875*d));
c2=cosh(4.694*d)-cos(4.694*d)-1.0185*(sinh(4.694*d)-sin(4.694*d));
H=0.2;
b=0.2;
u=6;
k1=100;
dy=zeros(4,1);
f1=x(3);
f2=x(4);
f3=(-12.359*H-4*sqrt(b)*u)*x(3)+(0.244*H+9.522*sqrt(b)*u)*x(4)-(12.359+0.859*u*u+k1*c1*c1)*x(1)+(0.244+11.756*u*u+k1*c1*c2)*x(2)-j*c1*(c1*x(1)+c2*x(2))^3;
f4=(0.006*H-1.518*sqrt(b)*u)*x(3)-(485.638*H+4.006*sqrt(b)*u)*x(4)+(0.006-1.874*u*u-k1*c1*c2)*x(1)-(485.638-13.286*u*u+k1*c2*c2)*x(2)-j*c2*(c1*x(1)+c2*x(2))^3;
dy=[f1;f2;f3;f4];


A=100:0.1:200;
options=odeset('RelTol',1e-6);
for n=1:length(A);
    j=A(n);
    T=2*pi/A(n);
    [t,x]=ode45(@kelvin,[0:T/200:200*T],[0,0,0,0],options,j);
    plot(A(n),x(36000:100:end,1),'k');
    xlabel('k2');
    ylabel('y');
    hold on
end
我不知道哪里有问题,画出来的总是一条直线,请哪位大侠指点一下,非常感谢!
回复
分享到:

使用道具 举报

 楼主| 发表于 2011-2-27 22:05 | 显示全部楼层
真的很急!太感谢大家了
发表于 2011-2-28 00:21 | 显示全部楼层
你这个程序很多地方没看懂,感觉你是用频闪法做的,但是程序有点问题,下面谈谈我的看法,不知道对不对,算是我的建议吧!兄弟,我也在准备毕业论文,我是盲审,郁闷死!
A=100:0.1:200;
options=odeset('RelTol',1e-6);
for n=1:length(A);
    j=A(n);
    T=2*pi/A(n);  %T是激励周期吗?
    [t,x]=ode45(@kelvin,[0:T/200:200*T],[0,0,0,0],options,j);
    plot(A(n),x(36000:100:end,1),'k'); %感觉这个地方应该改成200,你每个周期取200点,庞加莱截面应该间隔200取点啊
    xlabel('k2');
    ylabel('y');
    hold on
end
程序有点乱,没怎么看懂
发表于 2011-2-28 09:06 | 显示全部楼层
回复 1 # bapbap 的帖子

如楼上所说,是有点乱,论坛有这样程序的,你可以看看
发表于 2011-2-28 09:49 | 显示全部楼层
你的编程思路就是乱的,急没用,放心心情,多看懂几个现成的程序,自己要编程就容易了
发表于 2011-2-28 10:22 | 显示全部楼层
回复 1 # bapbap 的帖子

是后面那段有问题,不知道你定义的A的意义是什么,相关程序你在论坛里搜索一下,很多的
 楼主| 发表于 2011-2-28 11:01 | 显示全部楼层
回复 3 # tudexin 的帖子

兄弟可怜啊,盲审!祝你好运吧!
我研究的是输流管道的方程,我就是不明白周期需要怎么取,我看之前的帖子中有人这样取过,我就仿照了一下,但是不明白是什么意思
 楼主| 发表于 2011-2-28 11:03 | 显示全部楼层
回复 6 # hsfy919 的帖子

我就是看过之前论坛里的帖子中这样编过,具体A是什么意思我也不是很清楚,我研究的是输流管道,您是否有相应的建议帮助一下!谢谢
 楼主| 发表于 2011-2-28 11:07 | 显示全部楼层
回复 3 # tudexin 的帖子

我就是用频闪法做的,但是方程中怎么知道激励周期是多少呢?没有sin或者cos之类的明显周期信息!请帮忙,谢谢
 楼主| 发表于 2011-2-28 11:10 | 显示全部楼层
回复 6 # hsfy919 的帖子

请问,我的方程组是由四个方程组成的,那么画分岔图时需要用分岔参数和x中的哪一个来画图呢?谢谢
发表于 2011-2-28 11:57 | 显示全部楼层

周期指的是你外加系统的激励周期,多看看坛里的例子,你就明白了,频闪法还是比较容易理解的
发表于 2011-2-28 17:55 | 显示全部楼层
回复 10 # bapbap 的帖子

自治系统的分岔图可以用Poincare截面法做,具体你可以参考
http://forum.vibunion.com/forum- ... B1%C8%BD%CF%2B.html
发表于 2011-2-28 17:57 | 显示全部楼层
回复 10 # bapbap 的帖子

具体纵坐标是什么就要看你的物体意义了,其实不论是x中的哪个来画分岔图,其分叉属性不变
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 13:26 , Processed in 0.063360 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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