how to solve differential equations
1 次查看(过去 30 天)
显示 更早的评论
Hi, I'm trying to solve these differential equations with ode45, but i I don't understand how to enter the boundary conditions.
Th,in end tc,in are constant
Could you help me about it? Thank you
4 个评论
Torsten
2016-7-26
solinit = bvpinit(linspace(0,L,100),[Th_in Tc_in Th_in Tc_in Th_in Tc_in Th_in Tc_in Th_in Tc_in]);
Best wishes
Torsten.
回答(1 个)
Torsten
2016-7-26
function main
L=...;
Th_in = 20;
Tc_in = 5;
solinit = bvpinit(linspace(0,L,100),),[Th_in Tc_in Th_in Tc_in Th_in Tc_in Th_in Tc_in Th_in Tc_in]);
sol=bvp4c(@ex1ode,@(T0,TL)ex1bc(T0,TL,Th_in,Tc_in),solinit);
function dydx=exlode(x,T)
dydx=[(T(2)-T(1)
T(1)+T(3)-2*T(2)
-(T(2)+T(4)-2*T(3))
-(T(3)+T(5)-2*T(4))
T(4)+T(6)-2*T(5)
T(5)+T(7)-2*T(6)
-(T(6)+T(8)-2*T(7))
-(T(7)+T(9)-2*T(8))
T(8)+T(10)-2*T(9)
T(9)-T(10)];
function res=ex1bc(T0,TL,Th_in,Tc_in)
res=[T0(1)-Th_in
T0(2)-Tc_in
TL(3)-TL(1)
TL(4)-TL(2)
T0(5)-T0(3)
T0(6)-TL(4)
TL(7)-TL(5)
TL(8)-TL(6)
T0(9)-T0(7)
T0(10)-T0(8)];
Best wishes
Torsten.
5 个评论
Torsten
2016-7-27
This is an initial-value problem.
Use ODE45 instead of BVP4C to solve
dT/dx = -N*U/L * T^2 T(x=0) = 40
( Solution is T(x)=1/(1/40+N*U/L * x) )
Best wishes
Torsten.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Boundary Value Problems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!