马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我是刚入门做裂纹转子的,编程也是新手,从里到外都不太懂,麻烦各位大神帮忙看一下程序到底哪里出了问题??
----------------------------------第一个m文件--------------------------------------------------------------
%jeffliewen
function dx=jeffliewen(t,x)
global w
m=32.1;
c=2100;
e=0.002;
k=2.5e7;
g=9.8;
s0=m*g/k;
omega=sqrt(k/m);
beta=0;
theta=pi;
k(1)=1-beta/pi+sin(4*beta)/(4*pi);%fa xiang gang du
k(2)=1-beta/pi+2*sin(2*beta)/(3*pi)-sin(4*beta)/(12*pi);%qie xiang gang du
k(3)=0;%ou he gang du
k(11)=k(1)*(cos(theta))^2+k(2)*(sin(theta))^2-k(3)*sin(2*theta);%x fang xiang gang du
k(22)=k(1)*(sin(theta))^2+k(2)*(cos(theta))^2+k(3)*sin(2*theta);%y fang xiang gang du
k(33)=(k(1)-k(2))*sin(theta)*cos(theta)+k(3)*cos(2*theta);%x,y fang xiang gang du
dx=[x(2);
-x(2)*c/(m*(omega))-x(1)*k(11)/k-x(3)*k(33)/k+1+cos((theta)+(peta))*e*w^2/(s(0)*(omega)^2);
x(4);
-x(4)*c/(m*(omega))-x(3)*k(22)/k-x(1)*k(33)/k+sin((theta)+(peta))*e*w^2/(s(0)*(omega)^2)];
-------------------------------------------------第二个m文件-------------------------------------------------------------
%jeffliewentu
clear;
clc;
hold on;
global w
f=10:3:1200
for i=1:length(f)
disp(f(i));
w=f(i);
T=2*pi;
x(0)=[0.1;0;0.1;0];
tspan=0:T/100:100*T;
[t,x]=ode45('jeffliewen',tspan,x0);
x0=x(end,:);%ba yi ge zhou qi de chu zhi geng xin
plot(f(i),x(4000:100:end,5),'markersize',5);
xlabel ('转速w');
ylabel ('位移x1');
end
希望各位帮我指出一下错误,程序调试得在下要崩溃了。。。。
多谢~!!!
|