|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
求解下列方程,在matlab中用ode45求解时,总是报错,不知道怎么回事?
function dy=umodel(t,y,id,Y)
dy=zeros(2,1);
u=1.65; I=0.005; g=0.05; N=size(Y); N=N(1);
if id==1
J=g*(Y(id+1,1,:)-Y(id,1,:));
elseif id==N
J=g*(Y(id-1,1,:)-Y(id,1,:));
else
J=g*(Y(id+1,1,:)+Y(id-1,1,:)-2*Y(id,1,:));
end
dy(1)=-y(2)-u*(y(1).^2).*(y(1)-3/2)+I+J;
dy(2)=-y(2)+u*(y(1).^2);
迭代时用的语句
N=30; tspan=0:0.02:200;
Y=zeros(N,2,length(tspan)); T=zeros(N,length(tspan));
for i=1:30
[t,y] = ode45(@(t,y) umodel(t,y,i,Y),tspan,[0.5 0]);
T(i), Y(i,:)=y;
end
[ 本帖最后由 ChaChing 于 2009-5-5 14:16 编辑 ] |
|