是不是直接把那个ode45换成这个就行啊?是像下面这个方程这样么?
clc
clear
tspan=[0:0.01:1000]; %定义变量求解区间
x0=[1.4*10^-6,1.5*10^-6,0,650,298]; %设置初值,并设在z=0处x1的值是1.4*10^-6,x2的值是1.5*10^-6,tg是650k
options=odeset('RelTol',1e-3); %设置相对误差
[t,x]=ode15s(@modfun,tspan,x0); %调用ode45函数解微分方程
figure;
plot(t,x(:,1),'k:');
hold on;
plot(t,x(:,3),'k:');
set(gca,'Fontsize',12);
xlabel('\itt','Fontsize',16);
可是为什么会出现这个?
Warning: Failure at t=1.684686e+000. Unable to meet integration tolerances without reducing the step size below the
smallest value allowed (3.552714e-015) at time t.
> In ode15s at 753
In modfun1 at 6
>>
那里错了? |