声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1012|回复: 0

[编程技巧] 再次求救!!边值问题的求解!!

[复制链接]
发表于 2012-4-13 15:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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


请各位帮忙看下吧!!先谢过了!!



回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 06:13 , Processed in 0.052095 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表