马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
承蒙各位大侠关照,我的方程已经可以出图了,只是结果全是反的!!该增加的减少了,该减少的反而增加了!!因为我的方程是一个边值问题,我是假设的初值然后编的程序!!我觉得可能是因为初值选的不对,所以才有这种结果!!现在希望大家帮帮忙,看看怎么解这个边值问题!!我的程序如下!!
clear all
clc
tspan=[0,1000];
x0=[1.4*10^(-6),1.5*10^(-6),0,650,298];
%%初值是我假设,实际上已知条件为,x(1)1000=0,
%%x(2)1000=0;x(3)0=0;x(4)1000=1230;x(5)0=298;
options=odeset('RelTol',1e-6);
[t,x]=ode15s(@modfun,tspan,x0,options);
figure;
plot(t,x(:,1),'r-')
legend('x1')
figure
plot(t,x(:,2),'b-')
legend('x2')
figure
plot(t,x(:,4),'r-')
legend('Tg')
figure
plot(t,x(:,5),'r-')
legend('Ts')
return
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function dx=modfun(t,x)
rc=(0.125-3.78*x(3))^(1/3);
d1=1.467*10^(-6)*x(4)^1.75;
d2=3.828*10^(-7)*x(4)^1.75;
k1=0.225*exp(-14700/82.06/x(5));
k2=0.650*exp(-28100/82.06/x(5));
r1=-(4*pi*rc^2*(2.3616*10^(-5)-x(1)))/(1/k1+rc/d1-2*rc^2/d1);
r2=-(4*pi*rc^2*(1.549*10^(-5)-x(2)))/(1/k2+rc/d2-2*rc^2/d2);
gms=0.002652*(-0.0448*rc^3+0.0069)/(-0.0342*rc^3+0.0069); %当rc=0.5时gms=0.0013,rc=0.25时,gms=0.0026
gmg=2.06*10^(-3);
cpg=10;
cps=(1151.7*rc^3+40.69)/(0.3*rc^3+0.3875);
h1=-1865;
h2=7972.4;
dx=[-0.99*r1/207.92;...
-0.99*r2/207.92;...
-0.99*(r1+r2)/0.0437;...
(0.99*pi*4*10^-4*(x(5)-x(4)))/(gmg*cpg);...
0.99*(pi*4*10^-4*(x(5)-x(4))-h1*r1-h2*r2)/gms/cps];
dx=dx(:);
return
请各位帮忙看下吧!!先谢过了!!
|