声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3361|回复: 16

[计算数学] 相图错在哪儿

[复制链接]
发表于 2008-10-1 10:49 | 显示全部楼层 |阅读模式

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

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

x
看看这个相图,应该是一条线的,画出来就成了2条

麻烦大家帮帮分析一下原因。是程序的那个地方出错了吗
QQ截图未命名.jpg
回复
分享到:

使用道具 举报

发表于 2008-10-1 14:05 | 显示全部楼层

回复 楼主 cgx11209 的帖子

背景知识是什么?
程序可否贴出来?
发表于 2008-10-1 14:17 | 显示全部楼层
应该是计算误差造成的,试着把计算的时间加长一些?
发表于 2008-10-1 19:09 | 显示全部楼层
应该是瞬态造成的吧
 楼主| 发表于 2008-10-3 21:16 | 显示全部楼层
不好意思啊,这2日没能上网,前辈们在假日还如此勤学,值得我们学习!一起加油吧!!!
这是一个综合考虑齿侧间隙和时变啮合刚度的单级齿轮系统的动力学模型
程序如下:
2个M函数文件
function df=daba(t,x,flag,ks)
fx=fenduan(x,1);
df=[x(2);-2*ks*x(2)-(1+0.1*cos(t))*fx+0.1+0.2*cos(t)];


function fx=fenduan(x,b)
if x(1)>b
    fx=x(1)-b;
elseif x(1)<-b
    fx=x(1)+b;
else fx=0;
end

主函数:
clear
ks=0.08;
options=odeset('RelTol',1e-8);%定义误差精度的,系统默认1e-3,如果改为1e-3,X将等于0
tt=2*pi; %定义步长的
[t,x]=ode45(@daba,[0:tt/100:80*tt],[1.1,0],options,[],ks);
plot(x(7000:end,1),x(7000:end,2),'-');
发表于 2008-10-3 21:27 | 显示全部楼层

回复 5楼 cgx11209 的帖子

请问LZ相图横坐标代表什么?
plot(t(7000:end),x(7000:end,1),'-');
plot(t(7000:end),x(7000:end,2),'-');
 楼主| 发表于 2008-10-3 22:03 | 显示全部楼层
是plot(x(7000:end,1),x(7000:end,2),'-');
不是plot(t(7000:end),x(7000:end,2),'-');
横坐标是位移,纵坐标是速度
 楼主| 发表于 2008-10-4 08:46 | 显示全部楼层
我把时间加长到80000个周期,算了8000,000个点,相图还是一样的
[t,x]=ode45(@daba,[0:tt/100:80000*tt],[1.1,0],options,[],ks);
plot(x(7999000:end,1),x(7999000:end,2),'-')
发表于 2008-10-4 11:34 | 显示全部楼层
为什么一定要是一条线呢,我看了一下你的方程,里面出现了x(1)*cost,这是时变系统了
 楼主| 发表于 2008-10-4 19:09 | 显示全部楼层

回复 9楼 咕噜噜 的帖子

你的意思是可能就是2条线了
这是我看的别人的论文拿来验证,微分方程就是那样的,但是图画下跟人家的不一样,所以就来问问,要是2条线也对那么就不是程序的问题了。
谢谢你们!
发表于 2008-10-5 08:18 | 显示全部楼层
你的b值在那里定义着呢??我怎么没有找到啊1!
发表于 2008-10-6 19:30 | 显示全部楼层
程序看起来是没有问题的,也有可能计算结果就是这样了!
 楼主| 发表于 2008-10-6 20:12 | 显示全部楼层


在第一个M文件调用的时候就传递了b值,,为1
function df=daba(t,x,flag,ks)
fx=fenduan(x,1);
df=[x(2);-2*ks*x(2)-(1+0.1*cos(t))*fx+0.1+0.2*cos(t)];
发表于 2008-10-6 21:03 | 显示全部楼层
另外,建议最好用一个函数来建立你的微分方程,不要一个调用另外一个,效率可能会降低!
 楼主| 发表于 2008-10-7 21:44 | 显示全部楼层
非常感谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-19 20:56 , Processed in 0.071252 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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