wangwei058043
2010-01-10, 09:59
function main2
[t,y]=ode45(@exam,[0,2],[1;0;1]);
plot(t,y(:,1));
xlabel('t');ylabel('E(t)');
figure
plot(t,y(:,2));
xlabel('t');ylabel('相角');
figure
plot(t,y(:,3))
xlabel('t');ylabel('N(t)');
figure
plot(y(:,1),y(:,3))
xlabel('E(t)');ylabel('N(t)');
function dydt=exam(t,y)
L=3.5*10^(-4);
W=2*10^(-6);
D=0.15*10^(-6);
T=0.29;
Ng=3.8;
Am=2.9*10^3;
Aint=2.0*10^3;
nth=1.2*10^24;
Anr=1.0*10^8;
B=1.2*10^(-16);
C=3.5*10^(-41);
Es=1.6619*10^11;
A=2.3*10^(-20);
Bc=6;
I=2.5*10^(-2);
Wm=2*pi*10^9;
c=3.0*10^8;
q=1.602*10^(-19);
k=0.0356;
f=2.55*10^9;
O=pi*sin(2*pi*f);
Em=0.126*Es;
V=L*W*D;
Vg=c/Ng;
Nth=nth*V;
Vp=Vg*(Am+Aint);
Tl=2*Ng*L/c;
VP=V/T;
dydt=zeros(3,1);
dydt=[0.5*((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2)-Vp)*y(1)+k*Em*cos(O-y(2))/Tl;
0.5*Bc*((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2)-Vp)+k*Em*sin(O-y(2))/(Tl*y(1))-Wm;
I/q-(Anr+B*(y(3)/V)+C*(y(3)/V)^2)*y(3)-((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2))*VP*y(1)^2];
上面是编写的代码,运行很久之后提示Out of memory 。现在想知道有没有什么解决的方法
[t,y]=ode45(@exam,[0,2],[1;0;1]);
plot(t,y(:,1));
xlabel('t');ylabel('E(t)');
figure
plot(t,y(:,2));
xlabel('t');ylabel('相角');
figure
plot(t,y(:,3))
xlabel('t');ylabel('N(t)');
figure
plot(y(:,1),y(:,3))
xlabel('E(t)');ylabel('N(t)');
function dydt=exam(t,y)
L=3.5*10^(-4);
W=2*10^(-6);
D=0.15*10^(-6);
T=0.29;
Ng=3.8;
Am=2.9*10^3;
Aint=2.0*10^3;
nth=1.2*10^24;
Anr=1.0*10^8;
B=1.2*10^(-16);
C=3.5*10^(-41);
Es=1.6619*10^11;
A=2.3*10^(-20);
Bc=6;
I=2.5*10^(-2);
Wm=2*pi*10^9;
c=3.0*10^8;
q=1.602*10^(-19);
k=0.0356;
f=2.55*10^9;
O=pi*sin(2*pi*f);
Em=0.126*Es;
V=L*W*D;
Vg=c/Ng;
Nth=nth*V;
Vp=Vg*(Am+Aint);
Tl=2*Ng*L/c;
VP=V/T;
dydt=zeros(3,1);
dydt=[0.5*((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2)-Vp)*y(1)+k*Em*cos(O-y(2))/Tl;
0.5*Bc*((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2)-Vp)+k*Em*sin(O-y(2))/(Tl*y(1))-Wm;
I/q-(Anr+B*(y(3)/V)+C*(y(3)/V)^2)*y(3)-((T*Vg*A/V)*(y(3)-Nth)/sqrt(1+y(1)^2/Es^2))*VP*y(1)^2];
上面是编写的代码,运行很久之后提示Out of memory 。现在想知道有没有什么解决的方法