Heat equation using Boundary condition

function [b,c] = eql (x,t,u,dudx)
C=1; b=dudx; s=0;
end
function value = initial (x)
value=2*x / (1+x^2)
end
function [pl,ql, pr,qr]= ba(xl,ul,xr,ur,t)
pl=ul; ql=0; pr=ur-1; qr=0;
end
u=pdepe(0,@eql,@initial,@ba,x,t)
This statement is not inside any function.
(It follows the END that terminates the definition of the function "ba".)
x=linspace(0,1,20);
t=linespace(0,2,10);
surf(x,t,u)
title('Surface plot of solution')
xlabel('Distance X')
ylabel('time T')
zlabel('z axis')
grid on
I ma unable to understand the error. Please help me to understand and rectify the error...

回答(2 个)

function statements of this form (i.e. functions eq1, initial and ba) need to go at the end of the script, not the start.
x=linspace(0,1,20);
t=linspace(0,2,10);
u=pdepe(0,@eql,@initial,@ba,x,t);
surf(x,t,u)
title('Surface plot of solution')
xlabel('Distance X')
ylabel('time T')
zlabel('z axis')
grid on
function [c,f,s] = eql (x,t,u,dudx)
c=1; f=dudx; s=0;
end
function value = initial (x)
value=2*x / (1+x^2);
end
function [pl,ql, pr,qr]= ba(xl,ul,xr,ur,t)
pl=ul; ql=0; pr=ur-1; qr=0;
end

类别

帮助中心File Exchange 中查找有关 Thermal Analysis 的更多信息

回答:

2023-10-9

Community Treasure Hunt

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

Start Hunting!

Translated by