ode45 with boundary conditions

Hello,
If I have boundary conditions such as at x = 0, the temperature is T1, and at x = L, temperature is T2, how do I incorporate that into ode45? can you span two different parameters? I am trying to solve fourier's law of condution
Qdot = -kA dT/dx
Here is my code, but when I run it the temperature at the end is not 300 like I want it to be
k0 = 5;
beta = 10;
k = @(T) k0*(1+beta*T);
xspan = [0 10]; % meters
L = 10; % meters
T1 = 300;
Tf = 100;
A = 10;
Qdot = ((-k0*A)/L)*(Tf + (beta/2)*Tf^2 - T1 + (beta/2)*T1^2);
dTdx = @(x,T) Qdot/(-k(T)*A);
[X, T] = ode45(dTdx,xspan,T1);
plot(X,T)
xlabel('distance (meters)')
ylabel('Temperature (C)')
title('Temperature vs. distance')

답변 (2개)

Marc
Marc 2014년 10월 11일

1 개 추천

Try using bvp4c or bvp5c for boundary value problems.
ode45 is a initial value problem.

댓글 수: 1

Rick
Rick 2014년 10월 11일
I have never seen this function. How can I incorporate it into this problem? It seems like the second argument for the boundary conditions is a function handle, but I just want the boundary conditions to be at x=0, T=T1, and at x=L, T=T2

댓글을 달려면 로그인하십시오.

haMed
haMed 2014년 10월 11일

0 개 추천

Your Problem is discretized on x and you are integrating the resulting ode problem by ode-solver.
In this case I try to include the boundary conditions in the discretized equations. Or to represent the boundary conditions as states.

댓글 수: 1

Rick
Rick 2014년 10월 11일
I don't understand your response. How can I do whatever you are trying to say?

댓글을 달려면 로그인하십시오.

카테고리

태그

질문:

2014년 10월 11일

댓글:

2014년 10월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by