Warning: Error updating FunctionSurface. The following error was reported evaluating the function in FunctionLine update: Unable to convert expression into double array.

I'm trying to plot solution to the 2D unsteady state heat conduction equation, but when I try to plot the it I get an error. Please help, here is the code.
syms n x y Ta Tb T
H = 0.4;
L = 0.3;
Ta = symsum(80*((1-(-1)^n)/(n*pi))*sinh(n*pi*(0.4-y)/0.3)*sin(n*pi*x/0.3)/sinh(n*pi*0.4/0.3),n,1,Inf);
Tb = symsum(20*((1-(-1)^n)/(n*pi))*sinh(n*pi*y/0.3)*sin(n*pi*x/0.3)/sinh(n*pi*0.4/0.3),n,1,Inf);
T = Ta+Tb;
fsurf(Ta, [0 0.3 0 0.4]);
Error: Warning: Error updating FunctionSurface.
The following error was reported evaluating the function in FunctionLine update: Unable to convert expression
into double array.
function looks something like this:
Thanks

 Accepted Answer

%f true
Ta = symsum(80*((1-(-1).^n)./(n*pi)).*sinh(n*pi*(0.4-y)./0.3).*sin(n*pi*x/0.3)./sinh(n*pi*0.4/0.3),n,1,Inf);
Tb = symsum(20*((1-(-1).^n)./(n*pi)).*sinh(n*pi*y/0.3).*sin(n*pi*x/0.3)./sinh(n*pi*0.4/0.3),n,1,Inf);
Try using element wise operator

3 Comments

syms n x y Ta Tb T
H = 0.4;
L = 0.3;
Ta(x,y) = symsum(80*((1-(-1)^n)./(n*pi)).*sinh(n*pi*(0.4-y)/0.3).*sin(n*pi*x/0.3)./sinh(n*pi*0.4/0.3),n,1,Inf);
Tb(x,y) = symsum(20*((1-(-1)^n)./(n*pi)).*sinh(n*pi*y/0.3).*sin(n*pi*x/0.3)./sinh(n*pi*0.4/0.3),n,1,Inf);
T = Ta+Tb;
fsurf(T, [0 10 0 10]);
Try above with right values for x, y and H, L

Sign in to comment.

More Answers (0)

Categories

Find more on Elementary Math in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!