马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
syms y
n=6e+25;q1=915e-9;q2=1064e-9;a=3e-10;g1=0.01;g2=0.85;ap=8e-25;ep=5e-26;as=5e-27;es=3.4e-25;tao=840e-6;h=6.63e-34;c=3e+8; l=10;s1=q1/(h*c*a);
s2=q2/(h*c*a);s3=g1*(ap+ep);s4=g1*n*ap*l;s5=g2*(as+es);s6=g2*n*as*l; k1=20;k2=0;k4=0; y0=2.704312e+025;
t0=0;tf=1e-7;dt=2e-9;t1=2e-8;t=[t0:dt:tf]%产生信号
t=t0:dt:tf; st=length(t);
n1=floor((t1-t0)/dt);%t1求对应的应本序号
x2=[ones(1,n1-1),zeros(1,st-n1+1)]%产生阶跃信号
%绘图 stairs(t,x2)
k3=500.*x2;%k3为峰值500的阶跃信号
tspan=[t0,tf];
%f=-y/tao+s1*k2*(exp(-h1)-1)-s1*k1*(exp(h1)-1)+s2*k4*(exp(-h2)-1)-s2*k3*(exp(h2)-1)
[t,y]=ode45('rh',tspan,y0,[],tao,s1,s2,s3,s4,s5,s6,k1,k2,k3,k4)
h1=s3.*y-s4;h2=s5.*y-s6; v=10*log10(exp(h2)); u3=k3*exp(h2);
plot(t,y,'+')
function dydt=rh(t,y,flag,tao,s1,s2,s3,s4,s5,s6,k1,k2,k3,k4)
h1=s3*y-s4;h2=s5*y-s6;
dydt=-y/tao+s1*k2*(exp(-h1)-1)-s1*k1*(exp(h1)-1)+s2*k4*(exp(-h2)-1)-s2*k3.*(exp(h2)-1)
k3为峰值500的阶跃信号,只带500时运行,带上500.*x2就不行,怎么办?
[ 本帖最后由 ChaChing 于 2009-7-11 18:50 编辑 ] |