无水1324 发表于 2007-8-7 15:17

回复 #13 doori99 的帖子

转子碰摩问题作的人很多,而且好多人做的东西都是一样的。你应该不是程序的问题。重要的是你的模型、参数,这些完全确定了之后,就是求解、分岔、稳定性分析。网上有很多求解的程序供你参考的。

doori99 发表于 2007-8-7 20:49

原帖由 无水1324 于 2007-8-7 15:17 发表
转子碰摩问题作的人很多,而且好多人做的东西都是一样的。你应该不是程序的问题。重要的是你的模型、参数,这些完全确定了之后,就是求解、分岔、稳定性分析。网上有很多求解的程序供你参考的。

doori99 发表于 2007-8-7 20:55

原帖由 无水1324 于 2007-8-7 15:17 发表
转子碰摩问题作的人很多,而且好多人做的东西都是一样的。你应该不是程序的问题。重要的是你的模型、参数,这些完全确定了之后,就是求解、分岔、稳定性分析。网上有很多求解的程序供你参考的。

doori99 发表于 2007-8-7 21:02

原帖由 无水1324 于 2007-8-7 15:17 发表
转子碰摩问题作的人很多,而且好多人做的东西都是一样的。你应该不是程序的问题。重要的是你的模型、参数,这些完全确定了之后,就是求解、分岔、稳定性分析。网上有很多求解的程序供你参考的。

doori99 发表于 2007-8-7 21:03

原帖由 无水1324 于 2007-8-7 15:17 发表
转子碰摩问题作的人很多,而且好多人做的东西都是一样的。你应该不是程序的问题。重要的是你的模型、参数,这些完全确定了之后,就是求解、分岔、稳定性分析。网上有很多求解的程序供你参考的。

doori99 发表于 2007-8-7 21:07

回复 #14 octopussheng 的帖子

帮忙看一下,谢谢!
初学matlab数值仿真碰摩,请高手指点
我写了些程序就是做不错他的图象.不知道哪儿出问题了.
请高手门帮忙看看!
谢谢!

octopussheng 发表于 2007-8-7 21:24

你先把你做的程序发上来,这样才能针对你的问题进行讨论、修改,你要是什么都没有,就让别人帮你做完,那也是不可能的,毕竟每个人都有自己的事情,你把问题写的完整些,别人理解起来也省事了!◎

doori99 发表于 2007-8-7 21:53

方程
function dy=jeffcott(t,x)
dd=0.00016;
b=3;
% E=0.04;
cc=0.12;
f=0.12;
f0=25;
r=1.86;
e=sqrt(x(1)^2+x(3)^2);
dy=[x(2);
    -2*cc*x(2)-x(1)+f*b/(1+b)*x(3)+b*dd*(x(1)-f*x(3))/[(1+b)*e]+r^2*cos(r*t);
    x(4);
    -2*cc*x(4)-x(3)-f*b/(1+b)*x(1)+b*dd*(f*x(1)+x(3))/[(1+b)*e]+r^2*sin(r*t)];

clc;
clear all;
x0=rand(4,1);
=rk_41('jeffcott',,x0);
plot(t,y(:,1));
figure
plot(y(:,1),y(:,3)

rk_4程序
function =rk_4(odefile,tspan,y0)
t0=tspan(1);
th=tspan(2);
if length(tspan)<=3,h=tspan(3);
else
    h=tspan(2)-tsapn(1);
    th=tspan(2);
end
tout=';
t=tout';
yout=[];
for t=tout'
    k1=h*eval();
    k2=h*eval();
    k3=h*eval();
    k4=h*eval();
    y0=y0+(k1+2*k2+2*k3+k4)/6;
    yout=;
end

octopussheng 发表于 2007-8-8 07:46

先指出你的几个语法方面的问题吧
1. matlab中[]符号,是表示向量或者矩阵的,你在dy=....
   这个式子中,把所有的[]都应该改成(),这个是常识!!!!
如下:
-2*cc*x(2)-x(1)+f*b/(1+b)*x(3)+b*dd*(x(1)-f*x(3))/[(1+b)*e]+r^2*cos(r*t);
把其中的[]改过来

2. =rk_41('jeffcott',,x0);
这句话也有问题,你的RK程序是rk_4,何来rk_41之说

最后提一个建议————编程的时候要注意多多阅读出错提示!不要一遇到错误就不知道怎么看了!

无水1324 发表于 2007-8-8 07:53

求解可以直接调用ode45等ode求解器,他们大部分是基于RK法的

咕噜噜 发表于 2007-8-8 08:25

回复 #25 无水1324 的帖子

RK法也不是不可以,用ode45当然更简便
to doori99 :你给的那些图那里来的?

octopussheng 发表于 2007-8-8 08:41

回复 #26 咕噜噜 的帖子

他这些图都是闻邦椿书上的原图,是照下来的,呵呵

doori99 发表于 2007-8-8 11:29

回复 #24 octopussheng 的帖子

程序没有出错
让你们帮忙看看为什么做不错书上的图形
算例是闻邦春——《非线性振动理论中的解析方法及工程应用》的
是参数不对还是什么原因
谢谢了!

octopussheng 发表于 2007-8-8 12:01

回复 #28 doori99 的帖子

:@L 既然程序没有出错的话,调参数也不是我们的工作了哈!

本来计算非线性动力学问题就是一个费时间的过程,像这种调参数的事情还是自己做比较好!

无水1324 发表于 2007-8-8 12:43

回复 #29 octopussheng 的帖子

我调试了一楼的程序,里面有很多问题。还有其它的人调试了吗?一起交流一下
页: 1 [2] 3
查看完整版本: 闻邦春——非线性振动理论中的解析方法及工程应用一书后面的程序