MATLAB PDE BC'S
Show older comments
clc;clear all;close all;
L = 1;
x = linspace(0,L,75);
t = linspace(0,1,75);
m = 1;
sol = pdepe(m,@heatpde,@heatic,@heatbc,x,t);
sol1=1-sol;
figure(1)
surf(x,t,sol1);
xlabel('y/b');
zlabel('(T-T_0)/(T_1-T_0)');
title('Fig 12.1-1'); grid on;
function [c,f,s] = heatpde(x,t,u,dudx)
c = 1;
f = dudx;
s = 0;
end
function u0 = heatic(x)
u0 = 1;
end
function [pl,ql,pr,qr] = heatbc(xl,ul,xr,ur,t)
% left Bc = ul
pl = ul;
ql = 0;
% right BC= ur
pr = ur;
qr = 0;
end
I am a pde code. I am having a problem using the BC's in image. can you please help me. 

Answers (2)
Torsten
on 25 Mar 2022
function [pl,ql,pr,qr] = heatbc(xl,ul,xr,ur,t)
Nu = 1.0;
% left Bc = ul
pl = 0;
ql = 1;
% right BC= ur
pr = Nu*ur;
qr = 1;
end
4 Comments
Mr.DDWW
on 26 Mar 2022
Torsten
on 26 Mar 2022
The boundary conditions from the image - transfered to pdepe language - should be implemented as
function [pl,ql,pr,qr] = heatbc(xl,ul,xr,ur,t)
Nu = 1.0;
% left Bc = ul
pl = 0;
ql = 1;
% right BC= ur
pr = Nu*ur;
qr = 1;
end
I don't understand what this has to do with the size of the mesh in spatial direction.
Mr.DDWW
on 26 Mar 2022
Torsten
on 26 Mar 2022
If it's the equation from the image you are trying to solve, you'll have to set m=0 instead of m=1 in your code.
If you want to solve the problem for different spatial meshes, change the "75" in
x = linspace(0,L,75);
to a different number.
Mr.DDWW
on 27 Mar 2022
0 votes
Categories
Find more on PDE Solvers 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!