Adding boundary conditions to a function
5 views (last 30 days)
Show older comments
How could I change this function to input the boundry conditions q and g that say u(0,j)=0 (q) and u(1,j)=t (g)?
function u = Heat1DFD_gen(t,x,u0,alpha,q,g)
%
% Heat1DFD numerically solves the one-dimensional heat equation, with zero
% boundary conditions, using the finite-difference method
% u = Heat1DFD(t,x,u0,alpha), where
% t is the row vector of times,
% x is the row vector of x positions,
% u0 is the row vector of initial temperatures at the x positions,
% alpha is a given parameter of the heat equation,
% u is the approximate solution at the mesh points.
%
u = u0(:); % u must be a column vector
k = t(2)-t(1); h = x(2)-x(1); r = (alpha/h)^2*k;
if r > 0.5,
warning('Method is unstable and divergent. Results will be inaccurate.')
end
i = 2:length(x)-1;
j = 1:length(t)-1,
for j = 1:length(t)-1,
u(i,j+1) = (1-2*r)*u(i,j) + r*(u(i-1,j)+u(i+1,j));
end
u = flipud(u');
0 Comments
Answers (0)
See Also
Categories
Find more on Thermal Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!