|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
别人的
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:1;
for h=1:length(omega)
% omega(h)
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
可以运行,有结果
我的
function uu=fangcheng_x1(t,u,flag,omega);
m1=170;
m2=90;
e=0.0001;
r=0.0006;
k2=1154744;
omega0=15;
phi0=0.6/180*pi;
theta0=0.4/180*pi;
xi=0.14;
phi=omega*2*pi*t+phi0;
theta=omega*2*pi*t+theta0;
M=m1+m2;
A1=m1*e*omega^2*cos(phi);
A2=m2*r*omega.^2*cos(theta);
A3=k2*r*cos(theta);
B1=m1*e*omega.^2*sin(phi);
B2=m2*r*omega.^2*sin(theta);
B3=k2*r*sin(theta);
uu=zeros(4,1);
uu(1)=u(2);
uu(2)=(A1+A2-A3)./M-2*xi*omega0*u(2)-omega0.^2*u(1);
uu(3)=u(4);
uu(4)=(B1+B2-B3)./M-2*xi*omega0*u(4)-omega0.^2*u(3);
%%%%%%%%%%%%%%%%%%%
omega=5:40;
y0=[0.1 0 0.1 0];
for i=1:length(omega)
period=1./omega(i);
tspan=[0:period/100:100*period];
[t,u]=ode45(@fangcheng_x1,tspan,y0,[],omega(i));
y0=u(end,:);
plot(omega(i),u(4000:100:end,1),'b.','markersize',2);
hold on;
end
运行之后
Input argument "omega" is undefined.
Error in ==> fangcheng_x1 at 20
phi=omega*2*pi*t+phi0;
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
真不知道是什么原因,觉得方程没有问题。因为单独赋予omega数值时,可以求得结果。但在这里不行。请大家给解释一下为什么,困扰我好久了! |
|